157 lines
4.4 KiB
C
157 lines
4.4 KiB
C
#ifndef _GAP_DEFINES_H
|
|
#define _GAP_DEFINES_H
|
|
|
|
/// Own BD address source of the device
|
|
enum gapm_own_addr
|
|
{
|
|
/// Public or Private Static Address according to device address configuration
|
|
GAPM_STATIC_ADDR,
|
|
/// Generated resolvable private random address
|
|
GAPM_GEN_RSLV_ADDR,
|
|
/// Generated non-resolvable private random address
|
|
GAPM_GEN_NON_RSLV_ADDR,
|
|
};
|
|
|
|
/// PHY Type
|
|
enum gapm_phy_type
|
|
{
|
|
/// LE 1M
|
|
GAPM_PHY_TYPE_LE_1M = 1,
|
|
/// LE 2M
|
|
GAPM_PHY_TYPE_LE_2M,
|
|
/// LE Coded
|
|
GAPM_PHY_TYPE_LE_CODED,
|
|
};
|
|
|
|
/// PHY Type
|
|
enum gapm_phy_mask
|
|
{
|
|
/// LE 1M
|
|
GAPM_PHY_MASK_LE_1M = (1 << 0),
|
|
/// LE 2M
|
|
GAPM_PHY_MASK_LE_2M = (1 << 1),
|
|
/// LE Coded
|
|
GAPM_PHY_MASK_LE_CODED = (1 << 2),
|
|
/// ALL
|
|
GAPM_PHY_MASK_ALL = (GAPM_PHY_MASK_LE_1M | GAPM_PHY_MASK_LE_2M | GAPM_PHY_MASK_LE_CODED),
|
|
};
|
|
|
|
/// Type of advertising that can be created
|
|
enum gapm_adv_type
|
|
{
|
|
/// Legacy advertising
|
|
GAPM_ADV_TYPE_LEGACY = 0,
|
|
/// Extended advertising
|
|
GAPM_ADV_TYPE_EXTENDED,
|
|
/// Periodic advertising
|
|
GAPM_ADV_TYPE_PERIODIC,
|
|
};
|
|
|
|
/// Advertising discovery mode
|
|
enum gapm_adv_disc_mode
|
|
{
|
|
/// Mode in non-discoverable
|
|
GAPM_ADV_MODE_NON_DISC = 0,
|
|
/// Mode in general discoverable
|
|
GAPM_ADV_MODE_GEN_DISC,
|
|
/// Mode in limited discoverable
|
|
GAPM_ADV_MODE_LIM_DISC,
|
|
/// Broadcast mode without presence of AD_TYPE_FLAG in advertising data
|
|
GAPM_ADV_MODE_BEACON,
|
|
GAPM_ADV_MODE_MAX,
|
|
};
|
|
|
|
/// Advertising properties bit field bit positions
|
|
enum gapm_adv_prop_bf
|
|
{
|
|
/// Indicate that advertising is connectable, reception of CONNECT_REQ or AUX_CONNECT_REQ
|
|
/// PDUs is accepted. Not applicable for periodic advertising.
|
|
GAPM_ADV_PROP_CONNECTABLE_POS = 0,
|
|
GAPM_ADV_PROP_CONNECTABLE_BIT = 0x0001,
|
|
|
|
/// Indicate that advertising is scannable, reception of SCAN_REQ or AUX_SCAN_REQ PDUs is
|
|
/// accepted
|
|
GAPM_ADV_PROP_SCANNABLE_POS = 1,
|
|
GAPM_ADV_PROP_SCANNABLE_BIT = 0x0002,
|
|
|
|
/// Indicate that advertising targets a specific device. Only apply in following cases:
|
|
/// - Legacy advertising: if connectable
|
|
/// - Extended advertising: connectable or (non connectable and non discoverable)
|
|
GAPM_ADV_PROP_DIRECTED_POS = 2,
|
|
GAPM_ADV_PROP_DIRECTED_BIT = 0x0004,
|
|
|
|
/// Indicate that High Duty Cycle has to be used for advertising on primary channel
|
|
/// Apply only if created advertising is not an extended advertising
|
|
GAPM_ADV_PROP_HDC_POS = 3,
|
|
GAPM_ADV_PROP_HDC_BIT = 0x0008,
|
|
|
|
/// Bit 4 is reserved
|
|
GAPM_ADV_PROP_RESERVED_4_POS = 4,
|
|
GAPM_ADV_PROP_RESERVED_4_BIT = 0x0010,
|
|
|
|
/// Enable anonymous mode. Device address won't appear in send PDUs
|
|
/// Valid only if created advertising is an extended advertising
|
|
GAPM_ADV_PROP_ANONYMOUS_POS = 5,
|
|
GAPM_ADV_PROP_ANONYMOUS_BIT = 0x0020,
|
|
|
|
/// Include TX Power in the extended header of the advertising PDU.
|
|
/// Valid only if created advertising is not a legacy advertising
|
|
GAPM_ADV_PROP_TX_PWR_POS = 6,
|
|
GAPM_ADV_PROP_TX_PWR_BIT = 0x0040,
|
|
|
|
/// Include TX Power in the periodic advertising PDU.
|
|
/// Valid only if created advertising is a periodic advertising
|
|
GAPM_ADV_PROP_PER_TX_PWR_POS = 7,
|
|
GAPM_ADV_PROP_PER_TX_PWR_BIT = 0x0080,
|
|
|
|
/// Indicate if application must be informed about received scan requests PDUs
|
|
GAPM_ADV_PROP_SCAN_REQ_NTF_EN_POS = 8,
|
|
GAPM_ADV_PROP_SCAN_REQ_NTF_EN_BIT = 0x0100,
|
|
};
|
|
|
|
/// Scanning Types
|
|
enum gapm_scan_type
|
|
{
|
|
/// General discovery
|
|
GAPM_SCAN_TYPE_GEN_DISC = 0,
|
|
/// Limited discovery
|
|
GAPM_SCAN_TYPE_LIM_DISC,
|
|
/// Observer
|
|
GAPM_SCAN_TYPE_OBSERVER,
|
|
/// Selective observer
|
|
GAPM_SCAN_TYPE_SEL_OBSERVER,
|
|
/// Connectable discovery
|
|
GAPM_SCAN_TYPE_CONN_DISC,
|
|
/// Selective connectable discovery
|
|
GAPM_SCAN_TYPE_SEL_CONN_DISC,
|
|
};
|
|
|
|
/// IO Capability Values
|
|
enum gap_io_cap
|
|
{
|
|
/// Display Only
|
|
GAP_IO_CAP_DISPLAY_ONLY = 0x00,
|
|
/// Display Yes No
|
|
GAP_IO_CAP_DISPLAY_YES_NO,
|
|
/// Keyboard Only
|
|
GAP_IO_CAP_KB_ONLY,
|
|
/// No Input No Output
|
|
GAP_IO_CAP_NO_INPUT_NO_OUTPUT,
|
|
/// Keyboard Display
|
|
GAP_IO_CAP_KB_DISPLAY,
|
|
GAP_IO_CAP_LAST
|
|
};
|
|
|
|
/// OOB Data Present Flag Values
|
|
enum gap_oob
|
|
{
|
|
/// OOB Data not present
|
|
GAP_OOB_AUTH_DATA_NOT_PRESENT = 0x00,
|
|
/// OOB data present
|
|
GAP_OOB_AUTH_DATA_PRESENT,
|
|
GAP_OOB_AUTH_DATA_LAST
|
|
};
|
|
|
|
#endif // _GAP_DEFINES_H
|
|
|