// 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](/src/connectivity/bluetooth/docs/vocabulary.md) for more
/// information.
enum ConnectionRole {
    /// 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;
};
