// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.bluetooth;

/// Refers to the role of a Bluetooth device (local or peer) in a physical channel piconet. See
/// [Bluetooth Vocabulary Guide](https://cs.opensource.google/fuchsia/fuchsia/+/main:src/connectivity/bluetooth/docs/vocabulary.md)
/// for more information.
@strict_audit(bug="https://fxbug.dev/467127725", state="PENDING_REVIEW")
type ConnectionRole = strict enum {
    /// The role of the device that defines the piconet physical channel in BR/EDR or the
    /// "initiating" device in LE.
    LEADER = 1;

    /// The role of a device that synchronizes to the piconet physical channel in BR/EDR or the
    /// "advertising" device in LE.
    FOLLOWER = 2;
};
