MXC_A39_20240320/SW/components/btdm/include/gap_defines.h

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