WL865E4-P  36.07.001
m2mb_ble_driver.h File Reference

BLE driver functionality. More...

Go to the source code of this file.

Data Structures

struct  M2MB_BLE_NONALIGNEDWORD
 
struct  M2MB_BLE_CLIENT_INFO
 
struct  M2MB_BLE_GAPS_CLIENT_INFO
 
struct  M2MB_BLE_SEND_INFO
 
struct  M2MB_BLE_GAPS_DEVICE_APPEARANCE_MAP
 
struct  M2MB_BLE_DATA_BUFF
 
struct  M2MB_BLE_BD_ADDR_S
 
struct  M2MB_BLE_SECURE_CONNECTIONS_CONFIRMATION
 
struct  M2MB_BLE_SECURE_CONNECTIONS_RANDOMIZER
 
struct  M2MB_BLE_RANDOM_NUMBER
 
struct  M2MB_BLE_ENCRYPTION_KEY
 
struct  M2MB_BLE_LONG_TERM_KEY
 
struct  M2MB_BLE_UUID_16
 
struct  M2MB_BLE_UUID_32
 
struct  M2MB_BLE_UUID_128
 
struct  M2MB_BLE_ATT_AUTHENTICATION_SIGNATURE
 
struct  M2MB_BLE_LE_FEATURES
 
struct  M2MB_BLE__ADVERTISING_DATA
 
struct  M2MB_BLE_SCAN_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_UUID
 
struct  M2MB_BLE_GATT_EXCHANGE_MTU_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_EXECUTE_WRITE_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_PREPARE_WRITE_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_WRITE_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_READ_MULTIPLE_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_READ_LONG_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_READ_EVENT_ENTRY
 
struct  M2MB_BLE_GATT_READ_BY_UUID_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_READ_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_SERVICE_INFORMATION
 
struct  M2MB_BLE_GATT_REQUEST_ERROR_DATA
 
struct  M2MB_BLE_GATT_SERVICE_DISCOVERY_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_INCLUDE_INFORMATION
 
struct  M2MB_BLE_GATT_SERVICE_INFORMATION_BY_UUID
 
struct  M2MB_BLE_GATT_SERVICE_DISCOVERY_BY_UUID_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_INCLUDED_SERVICES_DISCOVERY_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_VALUE
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_ENTRY
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_DISCOVERY_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTOR_ENTRY
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTOR_DISCOVERY_RESPONSE_DATA
 
struct  M2MB_BLE_GATT_CLIENT_EVENT_DATA
 
struct  M2MB_BLE_GATT_DEVICE_CONNECTION_REQUEST_DATA
 
struct  M2MB_BLE_GATT_DEVICE_CONNECTION_DATA
 
struct  M2MB_BLE_GATT_DEVICE_CONNECTION_CONFIRMATION_DATA
 
struct  M2MB_BLE_GATT_DEVICE_CONFIRMATION_REQUEST_DATA
 
struct  M2MB_BLE_GATT_DEVICE_DISCONNECTION_DATA
 
struct  M2MB_BLE_GATT_DEVICE_BUFFER_EMPTY_DATA
 
struct  M2MB_BLE_GATT_SERVER_NOTIFICATION_DATA
 
struct  M2MB_BLE_GATT_SERVER_INDICATION_DATA
 
struct  M2MB_BLE_SERVER_INFO
 
struct  M2MB_BLE_GATT_DEVICE_CONNECTION_MTU_UPDATE_DATA
 
struct  M2MB_BLE_GATT_SERVICE_CHANGED_DATA
 
struct  M2MB_BLE_GATT_CONNECTION_SERVICE_DATABASE_UPDATE_DATA
 
struct  M2MB_BLE_GATT_CONNECTION_SERVICE_CHANGED_READ_DATA
 
struct  M2MB_BLE_GATT_CONNECTION_SERVICE_CHANGED_CONFIRMATION_DATA
 
struct  M2MB_BLE_GATT_CONNECTION_SERVICE_CHANGED_CCCD_READ_DATA
 
struct  M2MB_BLE_GATT_CONNECTION_SERVICE_CHANGED_CCCD_UPDATE_DATA
 
struct  M2MB_BLE_GATT_CONNECTION_EVENT_DATA
 
struct  M2MB_BLE_GATT_READ_REQUEST_DATA
 
struct  M2MB_BLE_GATT_WRITE_RRQUEST_DATA
 
struct  M2MB_BLE_GATT_SIGNED_WRITE_REQUEST_DATA
 
struct  M2MB_BLE_GATT_EXECUTE_WRITE_REQUEST_DATA
 
struct  M2MB_BLE_GATT_EXECUTE_WRITE_CONFIRMATION_DATA
 
struct  M2MB_BLE_GATT_CONFIRMATION_DATA
 
struct  M2MB_BLE_GATT_SERVICE_ATTRIBUTE_ENTRY
 
struct  M2MB_BLE_GATT_ATTRIBUTE_HANDLE_GROUP
 
struct  M2MB_BLE_GATT_PRIMARY_SERVICE_16_ENTRY
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_DECLARATION_16_ENTRY
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_VALUE_16_ENTRY
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTOR_16_ENTRY
 
struct  M2MB_BLE_GATT_PRIMARY_SERVICE_128_ENTRY
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_DECLARATION_128_ENTRY
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_VALUE_128_ENTRY
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTOR_128_ENTRY
 
struct  M2MB_BLE_GATT_SERVER_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_WHITE_LIST_ENTRY
 
struct  M2MB_BLE_GAP_LE_RESOLVING_LIST_ENTRY
 
struct  M2MB_BLE_GAP_LE_PARAM
 
struct  M2MB_BLE_GAP_LE_CONNECTABILITY_PARAMETERS
 
struct  M2MB_BLE_GAP_LE_ADVERTISING_PARAMETERS
 
struct  M2MB_BLE_GAP_LE_CONNECTION_PARAMETERS
 
struct  M2MB_BLE_GAP_LE_REMOTE_FEATURES_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_ADVERTISING_DATA_ENTRY
 
struct  M2MB_BLE_GAP_LE_ADVERTISING_DATA
 
struct  M2MB_BLE_GAP_LE_ADVERTISING_REPORT_DATA
 
struct  M2MB_BLE_GAP_LE_ADVERTISING_REPORT_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_DIRECT_ADVERTISING_REPORT_DATA
 
struct  M2MB_BLE_GAP_LE_DIRECT_ADVERTISING_REPORT_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_CURRENT_CONNECTION_PARAMETERS
 
struct  M2MB_BLE_GAP_LE_CONNECTION_COMPLETE_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_DISCONNECTION_COMPLETE_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_ENCRYPTION_CHANGE_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_ENCRYPTION_REFRESH_COMPLETE_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_KEY_REQUEST_INFO
 
struct  M2MB_BLE_GAP_LE_KEY_DISTRIBUTION
 
struct  M2MB_BLE_GAP_LE_EXTENDED_KEY_DISTRIBUTION
 
struct  M2MB_BLE_GAP_LE_PAIRING_CAPABILITIES
 
struct  M2MB_BLE_GAP_LE_SECURE_CONNECTIONS_OOB_DATA
 
struct  M2MB_BLE_GAP_LE_EXTENDED_PAIRING_CAPABILITIES
 
struct  M2MB_BLE_GAP_LE_SECURITY_REQUEST
 
struct  M2MB_BLE_GAP_LE_CONFIRMATION_REQUEST
 
struct  M2MB_BLE_GAP_LE_EXTENDED_CONFIRMATION_REQUEST
 
struct  M2MB_BLE_GAP_LE_EXTENDED_OUT_OF_BAND_INFORMATION
 
struct  M2MB_BLE_GAP_LE_PAIRING_STATUS
 
struct  M2MB_BLE_GAP_LE_ENCRYPTION_REQUEST_INFORMATION
 
struct  M2MB_BLE_GAP_LE_ENCRYPTION_INFORMATION
 
struct  M2MB_BLE_GAP_LE_IDENTITY_INFORMATION
 
struct  M2MB_BLE_GAP_LE_SIGNING_INFORMATION
 
struct  M2MB_BLE_GAP_LE_SECURITY_ESTABLISHMENT_COMPLETE
 
struct  M2MB_BLE_GAP_LE_AUTHENTICATION_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_CONNECTION_PARAMETER_UPDATE_REQUEST_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_CONNECTION_PARAMETER_UPDATE_RESPONSE_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_CONNECTION_PARAMETER_UPDATED_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_DATA_LENGTH_CHANGE_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_PHY_UPDATE_COMPLETE_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_EXTENDED_ADVERTISING_REPORT_DATA
 
struct  M2MB_BLE_GAP_LE_EXTENDED_ADVERTISING_REPORT_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_ADVERTISING_SET_TERMINATED_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_SCAN_REQUEST_RECEIVED_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_CHANNEL_SELECTION_ALGORITHM_UPDATE_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_LONG_TERM_KEY_INFORMATION
 
struct  M2MB_BLE_GAP_LE_OOB_DATA
 
struct  M2MB_BLE_GAP_LE_SLAVE_SECURITY_INFORMATION
 
struct  M2MB_BLE_GAP_LE_MASTER_SECURITY_INFORMATION
 
struct  M2MB_BLE_GAP_LE_SECURITY_INFORMATION
 
struct  M2MB_BLE_GAP_LE_AUTHENTICATION_RESPONSE_INFORMATION
 
struct  M2MB_BLE_HCI_COMMDRIVERINFORMATION
 
struct  M2MB_BLE_HCI_USBDRIVERINFORMATION
 
struct  M2MB_BLE_HCI_DRIVERINFORMATION
 
struct  M2MB_BLE_SCAN_PARAMETERS
 
struct  M2MB_BLE_PARAM
 
struct  M2MB_BLE_DEVICE_INFO
 
struct  M2MB_BLE_DIS_PNP_ID_DATA
 
struct  M2MB_BLE_INIT_PARAM
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTION_INFORMATION
 
struct  M2MB_BLE_GATT_CHARACTERISTIC_INFORMATION
 
struct  M2MB_BLE_GATT_SERVICE_DISCOVERY_INDICATION_DATA
 
struct  M2MB_BLE_GATT_SERVICE_DISCOVERY_COMPLETE_DATA
 
struct  M2MB_BLE_GATT_SERVICE_DISCOVERY_EVENT_DATA
 
struct  M2MB_BLE_GAP_LE_EXTENDED_CONNECTION_PARAMETERS
 
struct  M2MB_BLE_GAP_LE_EXTENDED_SCANNING_PHY_PARAMETERS
 
struct  M2MB_BLE_PASSKEY_RSP_S
 
struct  M2MB_BLE_PERSISTENT_DEVICE_REMOTE_DATA
 
struct  M2MB_BLE_PERSISTENT_DATA
 
#define M2MB_SSL_FAILURE   -1
 
#define M2MB_SSL_FAILURE   -1
 
#define M2MB_BLE_DATA_BUFFER_LENGTH   517
 
#define M2MB_BLE_PASSKEY   123456
 
#define M2MB_BLE_DEVICE_NAME_SIZE   32
 
#define M2MB_DEFAULT_OOBDATAPRESENT   FALSE
 
#define M2MB_DEFAULT_MITM_PROTECTION   TRUE
 
#define M2MB_DEFAULT_SECURE_CONNECTIONS   TRUE
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_UNKNOWN   0
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_PHONE   64
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_COMPUTER   128
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_WATCH   192
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_SPORTS_WATCH   193
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_CLOCK   256
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_DISPLAY   320
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_GENERIC_REMOTE_CONTROL   384
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_EYE_GLASSES   448
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_TAG   512
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_KEYRING   576
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_MEDIA_PLAYER   640
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_BARCODE_SCANNER   704
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_THERMOMETER   768
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_THERMOMETER_EAR   769
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_HEART_RATE_SENSOR   832
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_BELT_HEART_RATE_SENSOR   833
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_BLOOD_PRESSURE   896
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_BLOOD_PRESSURE_ARM   897
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_BLOOD_PRESSURE_WRIST   898
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_HUMAN_INTERFACE_DEVICE   960
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_HID_KEYBOARD   961
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_HID_MOUSE   962
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_HID_JOYSTICK   963
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_HID_GAMEPAD   964
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_HID_DIGITIZER_TABLET   965
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_HID_CARD_READER   966
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_HID_DIGITAL_PEN   967
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_HID_BARCODE_SCANNER   968
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_GLUCOSE_METER   1024
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_RUNNING_WALKING_SENSOR   1088
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_RUNNING_WALKING_SENSOR_IN_SHOE   1089
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_RUNNING_WALKING_SENSOR_ON_SHOE   1090
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_RUNNING_WALKING_SENSOR_ON_HIP   1091
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_CYCLING   1152
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_CYCLING_CYCLING_COMPUTER   1153
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_CYCLING_SPEED_SENSOR   1154
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_CYCLING_CADENCE_SENSOR   1155
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_CYCLING_POWER_SENSOR   1156
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_CYCLING_SPEED_AND_CADENCE_SENSOR   1157
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_PULSE_OXIMETER   3136
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_PULSE_OXIMETER_FINGERTIP   3137
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_PULSE_OXIMETER_WRIST_WORN   3138
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_WEIGHT_SCALE   3200
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_GENERIC_OUTDOOR_SPORTS_ACTIVITY   5184
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_OUTDOOR_SPORTS_ACTIVITY_LOCATION_DISPLAY_DEVICE   5185
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_OUTDOOR_SPORTS_ACTIVITY_LOCATION_AND_NAVIGATION_DISPLAY_DEVICE   5186
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_OUTDOOR_SPORTS_ACTIVITY_LOCATION_POD   5187
 
#define M2MB_BLE_GAP_DEVICE_APPEARANCE_VALUE_OUTDOOR_SPORTS_ACTIVITY_LOCATION_AND_NAVIGATION_POD   5188
 
#define M2MB_DEVICE_INFO_FLAGS_LTK_VALID   0x01
 
#define M2MB_DEVICE_INFO_FLAGS_BLE_SERVER   0x02
 
#define M2MB_DEVICE_INFO_FLAGS_BLE_CLIENT   0x04
 
#define M2MB_DEVICE_INFO_FLAGS_SERVICE_DISCOVERY_OUTSTANDING   0x08
 
#define M2MB_DEVICE_INFO_FLAGS_IRK_VALID   0x10
 
#define M2MB_DEVICE_INFO_FLAGS_ADDED_TO_WHITE_LIST   0x20
 
#define M2MB_DEVICE_INFO_FLAGS_ADDED_TO_RESOLVING_LIST   0x40
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INVALID_HANDLE   0x01
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_READ_NOT_PERMITTED   0x02
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_WRITE_NOT_PERMITTED   0x03
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INVALID_PDU   0x04
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INSUFFICIENT_AUTHENTICATION   0x05
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_REQUEST_NOT_SUPPORTED   0x06
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INVALID_OFFSET   0x07
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INSUFFICIENT_AUTHORIZATION   0x08
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_PREPARE_QUEUE_FULL   0x09
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_ATTRIBUTE_NOT_FOUND   0x0A
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_ATTRIBUTE_NOT_LONG   0x0B
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INSUFFICIENT_ENCRYPTION_KEY_SIZE   0x0C
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INVALID_ATTRIBUTE_VALUE_LENGTH   0x0D
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_UNLIKELY_ERROR   0x0E
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INSUFFICIENT_ENCRYPTION   0x0F
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_UNSUPPORTED_GROUP_TYPE   0x10
 
#define M2MB_BLE_ATT_PROTOCOL_ERROR_CODE_INSUFFICIENT_RESOURCES   0x11
 
#define M2MB_BLE_PARAMETERS_FLAGS_ADVERTISING_PARAMETERS_VALID   0x00000001
 
#define M2MB_BLE_PARAMETERS_FLAGS_SCAN_PARAMETERS_VALID   0x00000002
 
#define M2MB_BLE_PARAMETERS_FLAGS_CONNECTION_PARAMETERS_VALID   0x00000004
 
#define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_BROADCAST   0x01
 
#define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_READ   0x02
 
#define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_WRITE_WITHOUT_RESPONSE   0x04
 
#define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_WRITE   0x08
 
#define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_NOTIFY   0x10
 
#define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_INDICATE   0x20
 
#define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_AUTHENTICATED_SIGNED_WRITES   0x40
 
#define M2MB_BLE_GATT_CHARACTERISTIC_PROPERTIES_EXTENDED_PROPERTIES   0x80
 
#define M2MB_BLE_GATT_CLIENT_CONFIGURATION_CHARACTERISTIC_NOTIFY_ENABLE   0x0001
 
#define M2MB_BLE_GATT_CLIENT_CONFIGURATION_CHARACTERISTIC_INDICATE_ENABLE   0x0002
 
#define M2MB_BLE_GATT_CLIENT_CHARACTERISTIC_CONFIGURATION_BLUETOOTH_UUID_CONSTANT   { 0x02, 0x29 }
 
#define M2MB_BLE_DIS_PNP_ID_VENDOR_SOURCE_BLUETOOTH_SIG   0x01
 
#define M2MB_BLE_DIS_PNP_ID_VENDOR_SOURCE_USB_IMPLEMENTORS_FORUM   0x02
 
#define M2MB_BLE_NON_ALIGNED_WORD_SIZE   (sizeof(M2MB_BLE_NONALIGNEDWORD_T))
 
#define M2MB_BLE_ASSIGN_BD_ADDR(_dest, _a, _b, _c, _d, _e, _f)
 
#define M2MB_BLE_GATT_CLIENT_CHARACTERISTIC_CONFIGURATION_LENGTH   (M2MB_BLE_NON_ALIGNED_WORD_SIZE)
 
#define M2MB_BLE_GATT_ATTRIBUTE_FLAGS_READABLE   0x01
 
#define M2MB_BLE_GATT_ATTRIBUTE_FLAGS_WRITABLE   0x02
 
#define M2MB_BLE_GATT_ATTRIBUTE_FLAGS_HIDDEN   0x04
 
#define M2MB_BLE_GATT_ATTRIBUTE_FLAGS_READABLE_WRITABLE   (M2MB_BLE_GATT_ATTRIBUTE_FLAGS_READABLE|M2MB_BLE_GATT_ATTRIBUTE_FLAGS_WRITABLE)
 
#define M2MB_BLE_GATT_SERVICE_FLAGS_LE_SERVICE   0x01
 
#define M2MB_BLE_GAP_LE_EXTENDED_PAIRING_CAPABILITIES_FLAGS_KEYPRESS_NOTIFICATIONS   0x00000001
 
#define M2MB_BLE_GAP_LE_EXTENDED_PAIRING_CAPABILITIES_FLAGS_SECURE_CONNECTIONS   0x00000002
 
#define M2MB_BLE_GAP_LE_EXTENDED_PAIRING_CAPABILITIES_FLAGS_MITM_REQUESTED   0x00000004
 
#define M2MB_BLE_GAP_LE_EXTENDED_PAIRING_CAPABILITIES_FLAGS_OOB_DATA_PRESENT   0x00000008
 
#define M2MB_BLE_GAP_LE_EXTENDED_PAIRING_CAPABILITIES_FLAGS_LOCAL_OOB_DATA_VALID   0x00000010
 
#define M2MB_BLE_GATT_INITIALIZATION_FLAGS_SUPPORT_LE   0x00000001L
 
#define M2MB_BLE_GATT_INITIALIZATION_FLAGS_DISABLE_SERVICE_CHANGED_CHARACTERISTIC   0x00000004L
 
#define READ_UNALIGNED_BYTE_LITTLE_ENDIAN(_x)   (((UINT8 *)(_x))[0])
 
#define READ_UNALIGNED_WORD_LITTLE_ENDIAN(_x)   ((UINT16)((((UINT16)(((UINT8 *)(_x))[1])) << 8) | ((UINT16)(((UINT8 *)(_x))[0]))))
 
#define ASSIGN_HOST_WORD_TO_LITTLE_ENDIAN_UNALIGNED_WORD(_x, _y)
 
#define M2MB_BLE_COMPARE_BD_ADDR(_x, _y)   (((_x).BD_ADDR0 == (_y).BD_ADDR0) && ((_x).BD_ADDR1 == (_y).BD_ADDR1) && ((_x).BD_ADDR2 == (_y).BD_ADDR2) && ((_x).BD_ADDR3 == (_y).BD_ADDR3) && ((_x).BD_ADDR4 == (_y).BD_ADDR4) && ((_x).BD_ADDR5 == (_y).BD_ADDR5))
 
#define M2MB_BLE_COMPARE_NULL_BD_ADDR(_x)   (((_x).BD_ADDR0 == 0x00) && ((_x).BD_ADDR1 == 0x00) && ((_x).BD_ADDR2 == 0x00) && ((_x).BD_ADDR3 == 0x00) && ((_x).BD_ADDR4 == 0x00) && ((_x).BD_ADDR5 == 0x00))
 
#define BLE_SERVICE_FLAGS   (M2MB_BLE_GATT_SERVICE_FLAGS_LE_SERVICE)
 
#define M2MB_BLE_MAX_PAIRED_DEVICES   7
 
#define M2MB_BLE_ADVERTISING_DATA_MAXIMUM_SIZE   31
 
#define M2MB_BLE_SCAN_RESPONSE_DATA_MAXIMUM_SIZE   31
 
#define M2MB_BLE_GAP_LE_EXTENDED_PAIRING_CAPABILITIES_SIZE   (sizeof(M2MB_BLE_GAP_LE_EXTENDED_PAIRING_CAPABILITIES_T))
 
#define M2MB_BLE_GAP_MAXIMUM_DEVICE_NAME_LENGTH   248
 
#define DEVICE_INFO_FLAGS_SERVICE_DISCOVERY_OUTSTANDING   0x08
 
#define M2MB_BLE_MINIMUM_LE_SCAN_INTERVAL   3
 
#define M2MB_BLE_MAXIMUM_LE_SCAN_INTERVAL   10240
 
#define M2MB_BLE_MINIMUM_LE_SCAN_WINDOW   3
 
#define M2MB_BLE_MAXIMUM_LE_SCAN_WINDOW   10240
 
#define M2MB_BLE_MINIMUM_LIMITED_DISCOVERABLE_SCAN_LENGTH   11
 
#define M2MB_BLE_MINIMUM_GENERAL_DISCOVERABLE_SCAN_LENGTH   11
 
#define M2MB_BLE_MINIMUM_ADVERTISING_INTERVAL   20
 
#define M2MB_BLE_MAXIMUM_ADVERTISING_INTERVAL   10240
 
#define M2MB_BLE_MINIMUM_NONCONNECTABLE_ADVERTISING_INTERVAL   100
 
#define M2MB_BLE_MINIMUM_PRIMARY_ADVERTISING_INTERVAL   20
 
#define M2MB_BLE_MAXIMUM_PRIMARY_ADVERTISING_INTERVAL   10485759
 
#define M2MB_BLE_MINIMUM_PERIODIC_ADVERTISING_INTERVAL   8
 
#define M2MB_BLE_MAXIMUM_PERIODIC_ADVERTISING_INTERVAL   81919
 
#define M2MB_BLE_MINIMUM_ADVERITISING_HANDLE   0
 
#define M2MB_BLE_MAXIMUM_ADVERITISING_HANDLE   0xEF
 
#define M2MB_BLE_MINIMUM_EXTENDED_SCAN_INTERVAL   3
 
#define M2MB_BLE_MAXIMUM_EXTENDED_SCAN_INTERVAL   40959
 
#define M2MB_BLE_MINIMUM_EXTENDED_SCAN_WINDOW   3
 
#define M2MB_BLE_MAXIMUM_EXTENDED_SCAN_WINDOW   40959
 
#define M2MB_BLE_MINIMUM_EXTENDED_ADVERTISING_DURATION   0
 
#define M2MB_BLE_MAXIMUM_EXTENDED_ADVERTISING_DURATION   655350
 
#define M2MB_BLE_MINIMUM_EXTENDED_SCAN_DURATION   10
 
#define M2MB_BLE_MAXIMUM_EXTENDED_SCAN_DURATION   655350
 
#define M2MB_BLE_MINIMUM_EXTENDED_SCAN_PERIOD   1280
 
#define M2MB_BLE_MAXIMUM_EXTENDED_SCAN_PERIOD   83884800
 
#define M2MB_BLE_MINIMUM_MINIMUM_CONNECTION_INTERVAL   8
 
#define M2MB_BLE_MAXIMUM_MINIMUM_CONNECTION_INTERVAL   4000
 
#define M2MB_BLE_MINIMUM_MAXIMUM_CONNECTION_INTERVAL   8
 
#define M2MB_BLE_MAXIMUM_MAXIMUM_CONNECTION_INTERVAL   4000
 
#define M2MB_BLE_BTPS_STRUCTURE_OFFSET(_x, _y)   ((unsigned int)&(((_x *)0)->_y))
 
#define M2MB_BLE_ASSIGN_BLUETOOTH_UUID_16(_dest, _a, _b)
 
#define M2MB_BLE_COMPARE_BLUETOOTH_UUID_16_TO_CONSTANT(_x, _a, _b)
 
#define M2MB_BLE_COMPARE_BLUETOOTH_UUID_128_TO_CONSTANT(_x, _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p)
 
#define M2MB_BLE_PERSISTENT_REMOTE_DEVICE_DATA_SIZE   (sizeof(M2MB_BLE_PERSISTENT_DEVICE_REMOTE_DATA_T))
 
#define M2MB_BLE_PERSISTENT_REMOTE_DEVICE_DATA_FLAG_LTK_VALID   0x01
 
#define M2MB_BLE_PERSISTENT_REMOTE_DEVICE_DATA_FLAG_IDENTITY_VALID   0x02
 
#define M2MB_BLE_PERSISTENT_DATA_SIZE(_x)   (M2MB_BLE_BTPS_STRUCTURE_OFFSET(M2MB_BLE_PERSISTENT_DATA_T, RemoteDevices) + (M2MB_BLE_PERSISTENT_REMOTE_DEVICE_DATA_SIZE * (_x)))
 
enum  M2MB_BLE_GAP_CENTRAL_ADDRESS_RESOLUTION_T {
  M2MB_BLE_GAR_DISABLED_E,
  M2MB_BLE_GAR_ENABLED_E
}
 
enum  M2MB_BLE_GATT_CONNECTION_EVENT_TYPE_T {
  M2MB_BLE_ET_GATT_CONNECTION_DEVICE_CONNECTION_REQUEST_E,
  M2MB_BLE_ET_GATT_CONNECTION_DEVICE_CONNECTION_E,
  M2MB_BLE_ET_GATT_CONNECTION_DEVICE_CONNECTION_CONFIRMATION_E,
  M2MB_BLE_ET_GATT_CONNECTION_DEVICE_DISCONNECTION_E,
  M2MB_BLE_ET_GATT_CONNECTION_DEVICE_CONNECTION_MTU_UPDATE_E,
  M2MB_BLE_ET_GATT_CONNECTION_SERVER_INDICATION_E,
  M2MB_BLE_ET_GATT_CONNECTION_SERVER_NOTIFICATION_E,
  M2MB_BLE_ET_GATT_CONNECTION_SERVICE_DATABASE_UPDATE_E,
  M2MB_BLE_ET_GATT_CONNECTION_SERVICE_CHANGED_READ_REQUEST_E,
  M2MB_BLE_ET_GATT_CONNECTION_SERVICE_CHANGED_CONFIRMATION_E,
  M2MB_BLE_ET_GATT_CONNECTION_DEVICE_BUFFER_EMPTY_E,
  M2MB_BLE_ET_GATT_CONNECTION_SERVICE_CHANGED_CCCD_READ_REQUEST_E,
  M2MB_BLE_ET_GATT_CONNECTION_SERVICE_CHANGED_CCCD_UPDATE_E
}
 
enum  M2MB_BLE_GATT_SERVER_EVENT_TYPE_T {
  M2MB_BLE_ET_GATT_SERVER_DEVICE_CONNECTION_E,
  M2MB_BLE_ET_GATT_SERVER_DEVICE_DISCONNECTION_E,
  M2MB_BLE_ET_GATT_SERVER_READ_REQUEST_E,
  M2MB_BLE_ET_GATT_SERVER_WRITE_REQUEST_E,
  M2MB_BLE_ET_GATT_SERVER_SIGNED_WRITE_REQUEST_E,
  M2MB_BLE_ET_GATT_SERVER_EXECUTE_WRITE_REQUEST_E,
  M2MB_BLE_ET_GATT_SERVER_EXECUTE_WRITE_CONFIRMATION_E,
  M2MB_BLE_ET_GATT_SERVER_CONFIRMATION_RESPONSE_E,
  M2MB_BLE_ET_GATT_SERVER_DEVICE_CONNECTION_MTU_UPDATE_E,
  M2MB_BLE_ET_GATT_SERVER_DEVICE_BUFFER_EMPTY_E
}
 
enum  M2MB_BLE_GATT_CLIENT_EVENT_TYPE_T {
  M2MB_BLE_ET_GATT_CLIENT_ERROR_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_SERVICE_DISCOVERY_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_SERVICE_DISCOVERY_BY_UUID_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_INCLUDED_SERVICES_DISCOVERY_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_CHARACTERISTIC_DISCOVERY_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_CHARACTERISTIC_DESCRIPTOR_DISCOVERY_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_READ_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_READ_LONG_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_READ_BY_UUID_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_READ_MULTIPLE_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_WRITE_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_PREPARE_WRITE_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_EXECUTE_WRITE_RESPONSE_E,
  M2MB_BLE_ET_GATT_CLIENT_EXCHANGE_MTU_RESPONSE_E
}
 
enum  M2MB_BLE_GATT_CONNECTION_TYPE_T {
  M2MB_BLE_GCT_LE_E,
  M2MB_BLE_GCT_BR_EDR_E
}
 
enum  M2MB_BLE_GATT_SERVICE_TYPE_T {
  M2MB_BLE_ST_SECONDARY_E,
  M2MB_BLE_ST_PRIMARY_E
}
 
enum  M2MB_BLE_GATT_UUID_TYPE_T {
  M2MB_BLE_GU_UUID_16_E,
  M2MB_BLE_GU_UUID_128_E,
  M2MB_BLE_GU_UUID_32_E
}
 
enum  M2MB_BLE_GATT_SERVICE_ATTRIBUTE_ENTRY_TYPE_T {
  M2MB_BLE_AET_PRIMARY_SERVICE_16_E,
  M2MB_BLE_AET_PRIMARY_SERVICE_128_E,
  M2MB_BLE_AET_SECONDARY_SERVICE_16_E,
  M2MB_BLE_AET_SECONDARY_SERVICE_128_E,
  M2MB_BLE_AET_INCLUDE_DEFINITION_E,
  M2MB_BLE_AET_CHARACTERISTIC_DECLARATION_16_E,
  M2MB_BLE_AET_CHARACTERISTIC_DECLARATION_128_E,
  M2MB_BLE_AET_CHARACTERISTIC_VALUE_16_E,
  M2MB_BLE_AET_CHARACTERISTIC_VALUE_128_E,
  M2MB_BLE_AET_CHARACTERISTIC_DESCRIPTOR_16_E,
  M2MB_BLE_AET_CHARACTERISTIC_DESCRIPTOR_128_E,
  M2MB_BLE_AET_PRIMARY_SERVICE_32_E,
  M2MB_BLE_AET_SECONDARY_SERVICE_32_E,
  M2MB_BLE_AET_CHARACTERISTIC_DECLARATION_32_E,
  M2MB_BLE_AET_CHARACTERISTIC_VALUE_32_E,
  M2MB_BLE_AET_CHARACTERISTIC_DESCRIPTOR_32_E
}
 
enum  M2MB_BLE_GATT_REQUEST_ERROR_TYPE_T {
  M2MB_BLE_RET_ERROR_RESPONSE_E,
  M2MB_BLE_RET_PROTOCOL_TIMEOUT_E,
  M2MB_BLE_RET_PREPARE_WRITE_DATA_MISMATCH_E
}
 
enum  M2MB_BLE_GAP_LE_EVENT_TYPE_T {
  M2MB_BLE_ET_LE_REMOTE_FEATURES_RESULT_E,
  M2MB_BLE_ET_LE_ADVERTISING_REPORT_E,
  M2MB_BLE_ET_LE_CONNECTION_COMPLETE_E,
  M2MB_BLE_ET_LE_DISCONNECTION_COMPLETE_E,
  M2MB_BLE_ET_LE_ENCRYPTION_CHANGE_E,
  M2MB_BLE_ET_LE_ENCRYPTION_REFRESH_COMPLETE_E,
  M2MB_BLE_ET_LE_AUTHENTICATION_E,
  M2MB_BLE_ET_LE_CONNECTION_PARAMETER_UPDATE_REQUEST_E,
  M2MB_BLE_ET_LE_CONNECTION_PARAMETER_UPDATE_RESPONSE_E,
  M2MB_BLE_ET_LE_CONNECTION_PARAMETER_UPDATED_E,
  M2MB_BLE_ET_LE_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED_E,
  M2MB_BLE_ET_LE_DIRECT_ADVERTISING_REPORT_E,
  M2MB_BLE_ET_LE_DATA_LENGTH_CHANGE_E,
  M2MB_BLE_ET_LE_PHY_UPDATE_COMPLETE_E,
  M2MB_BLE_ET_LE_EXTENDED_ADVERTISING_REPORT_E,
  M2MB_BLE_ET_LE_RFU0_E,
  M2MB_BLE_ET_LE_RFU1_E,
  M2MB_BLE_ET_LE_RFU2_E,
  M2MB_BLE_ET_LE_SCAN_TIMEOUT_E,
  M2MB_BLE_ET_LE_ADVERTISING_SET_TERMINATED_E,
  M2MB_BLE_ET_LE_SCAN_REQUEST_RECEIVED_E,
  M2MB_BLE_ET_LE_CHANNEL_SELECTION_ALGORITHM_UPDATE_E
}
 
enum  M2MB_BLE_GAP_LE_ADVERTISING_REPORT_TYPE_T {
  M2MB_BLE_RT_CONNECTABLE_UNDIRECTED_E,
  M2MB_BLE_RT_CONNECTABLE_DIRECTED_E,
  M2MB_BLE_RT_SCANNABLE_UNDIRECTED_E,
  M2MB_BLE_RT_NON_CONNECTABLE_UNDIRECTED_E,
  M2MB_BLE_RT_SCAN_RESPONSE_E
}
 
enum  M2MB_BLE_GAP_LE_AUTHENTICATION_EVENT_TYPE_T {
  M2MB_BLE_LAT_LONG_TERM_KEY_REQUEST_E,
  M2MB_BLE_LAT_SECURITY_REQUEST_E,
  M2MB_BLE_LAT_PAIRING_REQUEST_E,
  M2MB_BLE_LAT_CONFIRMATION_REQUEST_E,
  M2MB_BLE_LAT_PAIRING_STATUS_E,
  M2MB_BLE_LAT_ENCRYPTION_INFORMATION_REQUEST_E,
  M2MB_BLE_LAT_IDENTITY_INFORMATION_REQUEST_E,
  M2MB_BLE_LAT_SIGNING_INFORMATION_REQUEST_E,
  M2MB_BLE_LAT_ENCRYPTION_INFORMATION_E,
  M2MB_BLE_LAT_IDENTITY_INFORMATION_E,
  M2MB_BLE_LAT_SIGNING_INFORMATION_E,
  M2MB_BLE_LAT_SECURITY_ESTABLISHMENT_COMPLETE_E,
  M2MB_BLE_LAT_KEYPRESS_NOTIFICATION_E,
  M2MB_BLE_LAT_EXTENDED_PAIRING_REQUEST_E,
  M2MB_BLE_LAT_EXTENDED_CONFIRMATION_REQUEST_E,
  M2MB_BLE_LAT_EXTENDED_OUT_OF_BAND_INFORMATION_E
}
 
enum  M2MB_BLE_GAP_ENCRYPTION_MODE_T {
  M2MB_BLE_EM_DISABLED_E,
  M2MB_BLE_EM_ENABLED_E
}
 
enum  M2MB_BLE_GAP_LE_BONDING_TYPE_T {
  M2MB_BLE_LBT_NO_BONDING_E,
  M2MB_BLE_LBT_BONDING_E
}
 
enum  M2MB_BLE_GAP_LE_ONFIRMATION_REQUEST_TYPE_T {
  M2MB_BLE_CRT_NONE_E,
  M2MB_BLE_CRT_PASSKEY_E,
  M2MB_BLE_CRT_DISPLAY_E,
  M2MB_BLE_CRT_OOB_E,
  M2MB_BLE_CRT_DISPLAY_YES_NO_E,
  M2MB_BLE_CRT_OOB_SECURE_CONNECTIONS_E
}
 
enum  M2MB_BLE_GAP_LE_KEYPRESS_T {
  M2MB_BLE_LKP_ENTRY_STARTED_E,
  M2MB_BLE_LKP_DIGIT_ENTERED_E,
  M2MB_BLE_LKP_DIGIT_ERASED_E,
  M2MB_BLE_LKP_CLEARED_E,
  M2MB_BLE_LKP_ENTRY_COMPLETED_E
}
 
enum  M2MB_BLE_GAP_LE_PHY_TYPE_T {
  M2MB_BLE_LPT_PHY_LE_1M_E,
  M2MB_BLE_LPT_PHY_LE_2M_E,
  M2MB_BLE_LPT_PHY_LE_CODED_E
}
 
enum  M2MB_BLE_GAP_LE_ADVERTISING_DATA_STATUS_T {
  M2MB_BLE_DS_COMPLETE_E,
  M2MB_BLE_DS_INCOMPLETE_DATA_PENDING_E,
  M2MB_BLE_DS_INCOMPLETE_DATA_TRUNCATED_E
}
 
enum  M2MB_BLE_GAP_LE_AUTHENTICATION_RESPONSE_TYPE_T {
  M2MB_BLE_LAR_LONG_TERM_KEY_E,
  M2MB_BLE_LAR_OUT_OF_BAND_DATA_E,
  M2MB_BLE_LAR_PAIRING_CAPABILITIES_E,
  M2MB_BLE_LAR_PASSKEY_E,
  M2MB_BLE_LAR_CONFIRMATION_E,
  M2MB_BLE_LAR_ERROR_E,
  M2MB_BLE_LAR_ENCRYPTION_INFORMATION_E,
  M2MB_BLE_LAR_IDENTITY_INFORMATION_E,
  M2MB_BLE_LAR_SIGNING_INFORMATION_E,
  M2MB_BLE_LAR_KEY_PRESS_E
}
 
enum  M2MB_BLE_GAP_LE_CONNECTABILITY_MODE_T {
  M2MB_BLE_LCM_NON_CONNECTABLE_E,
  M2MB_BLE_LCM_CONNECTABLE_E,
  M2MB_BLE_LCM_DIRECT_CONNECTABLE_E,
  M2MB_BLE_LCM_LOW_DUTY_CYCLE_DIRECT_CONNECTABLE_E
}
 
enum  M2MB_BLE_GAP_DISCOVERABILITY_MODE_T {
  M2MB_BLE_DM_NON_DISCOVERABLE_MODE_E,
  M2MB_BLE_DM_LIMITED_DISCOVERABLE_MODE_E,
  M2MB_BLE_DM_GENERAL_DISCOVERABLE_MODE_E
}
 
enum  M2MB_BLE_GAP_LE_PAIRABILITY_MODE_T {
  M2MB_BLE_LPM_NON_PAIRABLEMODE_E,
  M2MB_BLE_LPM_PAIRABLE_MODE_E,
  M2MB_BLE_LPM_PAIRABLE_MODE_ENABLE_EXTENDED_EVENTS_E
}
 
enum  M2MB_BLE_GAP_LE_IO_CAPABILITY_T {
  M2MB_BLE_LIC_DISPLAY_ONLY_E,
  M2MB_BLE_LIC_DISPLAY_YES_NO_E,
  M2MB_BLE_LIC_KEYBOARD_ONLY_E,
  M2MB_BLE_LIC_NO_INPUT_NO_OUTPUT_E,
  M2MB_BLE_LIC_KEYBOARD_DISPLAY_E
}
 
enum  M2MB_BLE_GAP_LE_FILTER_POLICY_T {
  M2MB_BLE_FP_NO_FILTER_E,
  M2MB_BLE_FP_WHITE_LIST_E,
  M2MB_BLE_FP_NO_WHITE_LIST_DIRECTED_RPA_E,
  M2MB_BLE_FP_WHITE_LIST_DIRECTED_RPA_E
}
 
enum  M2MB_BLE_GAP_LE_ADDRESS_TYPE_T {
  M2MB_BLE_LAT_PUBLIC_E,
  M2MB_BLE_LAT_RANDOM_E,
  M2MB_BLE_LAT_PUBLIC_IDENTITY_E,
  M2MB_BLE_LAT_RANDOM_IDENTITY_E,
  M2MB_BLE_LAT_RESOLVABLE_FALLBACK_PUBLIC_E,
  M2MB_BLE_LAT_RESOLVABLE_FALLBACK_PRIVATE_E,
  M2MB_BLE_LAT_ANONYMOUS_E
}
 
enum  M2MB_BLE_GAP_LE_CHANNEL_SELECTION_ALGORITHM_T {
  M2MB_BLE_SA_ALGORITHM_NUM1_E,
  M2MB_BLE_SA_ALGORITHM_NUM2_E
}
 
enum  M2MB_BLE_HCI_DRIVERTYPE_T {
  M2MB_BLE_COMM_DRIVER_E,
  M2MB_BLE_USB_DRIVER_E
}
 
enum  M2MB_BLE_HCI_COMM_PROTOCOL_T {
  M2MB_BLE_COMM_PROTOCOL_UART_E,
  M2MB_BLE_COMM_PROTOCOL_UART_RTS_CTS_E,
  M2MB_BLE_COMM_PROTOCOL_BCSP_E,
  M2MB_BLE_COMM_PROTOCOL_BCSP_MUZZLED_E,
  M2MB_BLE_COMM_PROTOCOL_H4DS_E,
  M2MB_BLE_COMM_PROTOCOL_H4DS_RTS_CTS_E,
  M2MB_BLE_COMM_PROTOCOL_HCILL_E,
  M2MB_BLE_COMM_PROTOCOL_HCILL_RTS_CTS_E,
  M2MB_BLE_COMM_PROTOCOL_3WIRE_E,
  M2MB_BLE_COMM_PROTOCOL_3WIRE_RTS_CTS_E,
  M2MB_BLE_COMM_PROTOCOL_SIBS_E,
  M2MB_BLE_COMM_PROTOCOL_SIBS_RTS_CTS_E
}
 
enum  M2MB_BLE_HCI_USB_DRIVER_T {
  M2MB_BLE_USB_DRIVER_SS1_E,
  M2MB_BLE_USB_DRIVER_GARMIN_E
}
 
enum  M2MB_BLE_GATT_Service_DISCOVERY_EVENT_TYPE_T {
  M2MB_BLE_ET_GATT_SERVICE_DISCOVERY_INDICATION_E,
  M2MB_BLE_ET_GATT_SERVICE_DISCOVERY_COMPLETE_E
}
 
enum  M2MB_BLE_GAP_LE_SCAN_TYPE_T {
  M2MB_BLE_ST_PASSIVE_E,
  M2MB_BLE_ST_ACTIVE_E
}
 
enum  M2MB_BLE_GAP_LE_EXTENDED_SCAN_FILTER_DUPLICATES_TYPE_T {
  M2MB_BLE_FD_DISABLED_E,
  M2MB_BLE_FD_ENABLED_E,
  M2MB_BLE_FD_ENABLED_RESET_EACH_SCAN_PERIOD_E
}
 
typedef struct M2MB_BLE_NONALIGNEDWORD M2MB_BLE_NONALIGNEDWORD_T
 
typedef HANDLE M2MB_PERSIST_HANDLE_T
 
typedef struct M2MB_BLE_CLIENT_INFO M2MB_BLE_CLIENT_INFO_T
 
typedef struct M2MB_BLE_GAPS_CLIENT_INFO M2MB_BLE_GAPS_CLIENT_INFO_T
 
typedef struct M2MB_BLE_SEND_INFO M2MB_BLE_SEND_INFO_T
 
typedef struct M2MB_BLE_GAPS_DEVICE_APPEARANCE_MAP M2MB_BLE_GAPS_DEVICE_APPEARANCE_MAP_T
 
typedef struct M2MB_BLE_DATA_BUFF M2MB_BLE_DATA_BUFF_T
 
typedef struct M2MB_BLE_BD_ADDR_S M2MB_BLE_BD_ADDR_T
 
typedef struct M2MB_BLE_SECURE_CONNECTIONS_CONFIRMATION M2MB_BLE_SECURE_CONNECTIONS_CONFIRMATION_T
 
typedef struct M2MB_BLE_SECURE_CONNECTIONS_RANDOMIZER M2MB_BLE_SECURE_CONNECTIONS_RANDOMIZER_T
 
typedef struct M2MB_BLE_RANDOM_NUMBER M2MB_BLE_RANDOM_NUMBER_T
 
typedef struct M2MB_BLE_ENCRYPTION_KEY M2MB_BLE_ENCRYPTION_KEY_T
 
typedef struct M2MB_BLE_LONG_TERM_KEY M2MB_BLE_LONG_TERM_KEY_T
 
typedef struct M2MB_BLE_UUID_16 M2MB_BLE_UUID_16_T
 
typedef struct M2MB_BLE_UUID_32 M2MB_BLE_UUID_32_T
 
typedef struct M2MB_BLE_UUID_128 M2MB_BLE_UUID_128_T
 
typedef struct M2MB_BLE_ATT_AUTHENTICATION_SIGNATURE M2MB_BLE_ATT_AUTHENTICATION_SIGNATURE_T
 
typedef struct M2MB_BLE_LE_FEATURES M2MB_BLE_LE_FEATURES_T
 
typedef struct M2MB_BLE__ADVERTISING_DATA M2MB_BLE_ADVERTISING_DATA_T
 
typedef struct M2MB_BLE_SCAN_RESPONSE_DATA M2MB_BLE_SCAN_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_UUID M2MB_BLE_GATT_UUID_T
 
typedef struct M2MB_BLE_GATT_EXCHANGE_MTU_RESPONSE_DATA M2MB_BLE_GATT_EXCHANGE_MTU_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_EXECUTE_WRITE_RESPONSE_DATA M2MB_BLE_GATT_EXECUTE_WRITE_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_PREPARE_WRITE_RESPONSE_DATA M2MB_BLE_GATT_PREPARE_WRITE_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_WRITE_RESPONSE_DATA M2MB_BLE_GATT_WRITE_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_READ_MULTIPLE_RESPONSE_DATA M2MB_BLE_GATT_READ_MULTIPLE_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_READ_LONG_RESPONSE_DATA M2MB_BLE_GATT_READ_LONG_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_READ_EVENT_ENTRY M2MB_BLE_GATT_READ_EVENT_ENTRY_T
 
typedef struct M2MB_BLE_GATT_READ_BY_UUID_RESPONSE_DATA M2MB_BLE_GATT_READ_BY_UUID_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_READ_RESPONSE_DATA M2MB_BLE_GATT_READ_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_SERVICE_INFORMATION M2MB_BLE_GATT_SERVICE_INFORMATION_T
 
typedef struct M2MB_BLE_GATT_REQUEST_ERROR_DATA M2MB_BLE_GATT_REQUEST_ERROR_DATA_T
 
typedef struct M2MB_BLE_GATT_SERVICE_DISCOVERY_RESPONSE_DATA M2MB_BLE_GATT_SERVICE_DISCOVERY_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_INCLUDE_INFORMATION M2MB_BLE_GATT_INCLUDE_INFORMATION_T
 
typedef struct M2MB_BLE_GATT_SERVICE_INFORMATION_BY_UUID M2MB_BLE_GATT_SERVICE_INFORMATION_BY_UUID_T
 
typedef struct M2MB_BLE_GATT_SERVICE_DISCOVERY_BY_UUID_RESPONSE_DATA M2MB_BLE_GATT_SERVICE_DISCOVERY_BY_UUID_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_INCLUDED_SERVICES_DISCOVERY_RESPONSE_DATA M2MB_BLE_GATT_INCLUDED_SERVICES_DISCOVERY_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_VALUE M2MB_BLE_GATT_CHARACTERISTIC_VALUE_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_ENTRY M2MB_BLE_GATT_CHARACTERISTIC_ENTRY_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_DISCOVERY_RESPONSE_DATA M2MB_BLE_GATT_CHARACTERISTIC_DISCOVERY_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTOR_ENTRY M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTOR_ENTRY_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTOR_DISCOVERY_RESPONSE_DATA M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTOR_DISCOVERY_RESPONSE_DATA_T
 
typedef struct M2MB_BLE_GATT_CLIENT_EVENT_DATA M2MB_BLE_GATT_CLIENT_EVENT_DATA_T
 
typedef struct M2MB_BLE_GATT_DEVICE_CONNECTION_REQUEST_DATA M2MB_BLE_GATT_DEVICE_CONNECTION_REQUEST_DATA_T
 
typedef struct M2MB_BLE_GATT_DEVICE_CONNECTION_DATA M2MB_BLE_GATT_DEVICE_CONNECTION_DATA_T
 
typedef struct M2MB_BLE_GATT_DEVICE_CONNECTION_CONFIRMATION_DATA M2MB_BLE_GATT_DEVICE_CONNECTION_CONFIRMATION_DATA_T
 
typedef struct M2MB_BLE_GATT_DEVICE_CONFIRMATION_REQUEST_DATA M2MB_BLE_GATT_DEVICE_CONFIRMATION_REQUEST_DATA_T
 
typedef struct M2MB_BLE_GATT_DEVICE_DISCONNECTION_DATA M2MB_BLE_GATT_DEVICE_DISCONNECTION_DATA_T
 
typedef struct M2MB_BLE_GATT_DEVICE_BUFFER_EMPTY_DATA M2MB_BLE_GATT_DEVICE_BUFFER_EMPTY_DATA_T
 
typedef struct M2MB_BLE_GATT_SERVER_NOTIFICATION_DATA M2MB_BLE_GATT_SERVER_NOTIFICATION_DATA_T
 
typedef struct M2MB_BLE_GATT_SERVER_INDICATION_DATA M2MB_BLE_GATT_SERVER_INDICATION_DATA_T
 
typedef struct M2MB_BLE_SERVER_INFO M2MB_BLE_SERVER_INFO_T
 
typedef struct M2MB_BLE_GATT_DEVICE_CONNECTION_MTU_UPDATE_DATA M2MB_BLE_GATT_DEVICE_CONNECTION_MTU_UPDATE_DATA_T
 
typedef struct M2MB_BLE_GATT_SERVICE_CHANGED_DATA M2MB_BLE_GATT_SERVICE_CHANGED_DATA_T
 
typedef struct M2MB_BLE_GATT_CONNECTION_SERVICE_DATABASE_UPDATE_DATA M2MB_BLE_GATT_CONNECTION_SERVICE_DATABASE_UPDATE_DATA_T
 
typedef struct M2MB_BLE_GATT_CONNECTION_SERVICE_CHANGED_READ_DATA M2MB_BLE_GATT_CONNECTION_SERVICE_CHANGED_READ_DATA_T
 
typedef struct M2MB_BLE_GATT_CONNECTION_SERVICE_CHANGED_CONFIRMATION_DATA M2MB_BLE_GATT_CONNECTION_SERVICE_CHANGED_CONFIRMATION_DATA_T
 
typedef struct M2MB_BLE_GATT_CONNECTION_SERVICE_CHANGED_CCCD_READ_DATA M2MB_BLE_GATT_CONNECTION_SERVICE_CHANGED_CCCD_READ_DATA_T
 
typedef struct M2MB_BLE_GATT_CONNECTION_SERVICE_CHANGED_CCCD_UPDATE_DATA M2MB_BLE_GATT_CONNECTION_SERVICE_CHANGED_CCCD_UPDATE_DATA_T
 
typedef struct M2MB_BLE_GATT_CONNECTION_EVENT_DATA M2MB_BLE_GATT_CONNECTION_EVENT_DATA_T
 
typedef struct M2MB_BLE_GATT_READ_REQUEST_DATA M2MB_BLE_GATT_READ_REQUEST_DATA_T
 
typedef struct M2MB_BLE_GATT_WRITE_RRQUEST_DATA M2MB_BLE_GATT_WRITE_RRQUEST_DATA_T
 
typedef struct M2MB_BLE_GATT_SIGNED_WRITE_REQUEST_DATA M2MB_BLE_GATT_SIGNED_WRITE_REQUEST_DATA_T
 
typedef struct M2MB_BLE_GATT_EXECUTE_WRITE_REQUEST_DATA M2MB_BLE_GATT_EXECUTE_WRITE_REQUEST_DATA_T
 
typedef struct M2MB_BLE_GATT_EXECUTE_WRITE_CONFIRMATION_DATA M2MB_BLE_GATT_EXECUTE_WRITE_CONFIRMATION_DATA_T
 
typedef struct M2MB_BLE_GATT_CONFIRMATION_DATA M2MB_BLE_GATT_CONFIRMATION_DATA_T
 
typedef struct M2MB_BLE_GATT_SERVICE_ATTRIBUTE_ENTRY M2MB_BLE_GATT_SERVICE_ATTRIBUTE_ENTRY_T
 
typedef struct M2MB_BLE_GATT_ATTRIBUTE_HANDLE_GROUP M2MB_BLE_GATT_ATTRIBUTE_HANDLE_GROUP_T
 
typedef struct M2MB_BLE_GATT_PRIMARY_SERVICE_16_ENTRY M2MB_BLE_GATT_PRIMARY_SERVICE_16_ENTRY_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_DECLARATION_16_ENTRY M2MB_BLE_GATT_CHARACTERISTIC_DECLARATION_16_ENTRY_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_VALUE_16_ENTRY M2MB_BLE_GATT_CHARACTERISTIC_VALUE_16_ENTRY_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTOR_16_ENTRY M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTOR_16_ENTRY_T
 
typedef struct M2MB_BLE_GATT_PRIMARY_SERVICE_128_ENTRY M2MB_BLE_GATT_PRIMARY_SERVICE_128_ENTRY_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_DECLARATION_128_ENTRY M2MB_BLE_GATT_CHARACTERISTIC_DECLARATION_128_ENTRY_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_VALUE_128_ENTRY M2MB_BLE_GATT_CHARACTERISTIC_VALUE_128_ENTRY_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTOR_128_ENTRY M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTOR_128_ENTRY_T
 
typedef struct M2MB_BLE_GATT_SERVER_EVENT_DATA M2MB_BLE_GATT_SERVER_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_WHITE_LIST_ENTRY M2MB_BLE_GAP_LE_WHITE_LIST_ENTRY_T
 
typedef struct M2MB_BLE_GAP_LE_RESOLVING_LIST_ENTRY M2MB_BLE_GAP_LE_RESOLVING_LIST_ENTRY_T
 
typedef struct M2MB_BLE_GAP_LE_PARAM M2MB_BLE_GAP_LE_PARAM_T
 
typedef struct M2MB_BLE_GAP_LE_CONNECTABILITY_PARAMETERS M2MB_BLE_GAP_LE_CONNECTABILITY_PARAMETERS_T
 
typedef struct M2MB_BLE_GAP_LE_ADVERTISING_PARAMETERS M2MB_BLE_GAP_LE_ADVERTISING_PARAMETERS_T
 
typedef struct M2MB_BLE_GAP_LE_CONNECTION_PARAMETERS M2MB_BLE_GAP_LE_CONNECTION_PARAMETERS_T
 
typedef struct M2MB_BLE_GAP_LE_REMOTE_FEATURES_EVENT_DATA M2MB_BLE_GAP_LE_REMOTE_FEATURES_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_ADVERTISING_DATA_ENTRY M2MB_BLE_GAP_LE_ADVERTISING_DATA_ENTRY_T
 
typedef struct M2MB_BLE_GAP_LE_ADVERTISING_DATA M2MB_BLE_GAP_LE_ADVERTISING_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_ADVERTISING_REPORT_DATA M2MB_BLE_GAP_LE_ADVERTISING_REPORT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_ADVERTISING_REPORT_EVENT_DATA M2MB_BLE_GAP_LE_ADVERTISING_REPORT_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_DIRECT_ADVERTISING_REPORT_DATA M2MB_BLE_GAP_LE_DIRECT_ADVERTISING_REPORT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_DIRECT_ADVERTISING_REPORT_EVENT_DATA M2MB_BLE_GAP_LE_DIRECT_ADVERTISING_REPORT_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_CURRENT_CONNECTION_PARAMETERS M2MB_BLE_GAP_LE_CURRENT_CONNECTION_PARAMETERS_T
 
typedef struct M2MB_BLE_GAP_LE_CONNECTION_COMPLETE_EVENT_DATA M2MB_BLE_GAP_LE_CONNECTION_COMPLETE_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_DISCONNECTION_COMPLETE_EVENT_DATA M2MB_BLE_GAP_LE_DISCONNECTION_COMPLETE_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_ENCRYPTION_CHANGE_EVENT_DATA M2MB_BLE_GAP_LE_ENCRYPTION_CHANGE_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_ENCRYPTION_REFRESH_COMPLETE_EVENT_DATA M2MB_BLE_GAP_LE_ENCRYPTION_REFRESH_COMPLETE_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_KEY_REQUEST_INFO M2MB_BLE_GAP_LE_KEY_REQUEST_INFO_T
 
typedef struct M2MB_BLE_GAP_LE_KEY_DISTRIBUTION M2MB_BLE_GAP_LE_KEY_DISTRIBUTION_T
 
typedef struct M2MB_BLE_GAP_LE_EXTENDED_KEY_DISTRIBUTION M2MB_BLE_GAP_LE_EXTENDED_KEY_DISTRIBUTION_T
 
typedef struct M2MB_BLE_GAP_LE_PAIRING_CAPABILITIES M2MB_BLE_GAP_LE_PAIRING_CAPABILITIES_T
 
typedef struct M2MB_BLE_GAP_LE_SECURE_CONNECTIONS_OOB_DATA M2MB_BLE_GAP_LE_SECURE_CONNECTIONS_OOB_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_EXTENDED_PAIRING_CAPABILITIES M2MB_BLE_GAP_LE_EXTENDED_PAIRING_CAPABILITIES_T
 
typedef struct M2MB_BLE_GAP_LE_SECURITY_REQUEST M2MB_BLE_GAP_LE_SECURITY_REQUEST_T
 
typedef struct M2MB_BLE_GAP_LE_CONFIRMATION_REQUEST M2MB_BLE_GAP_LE_CONFIRMATION_REQUEST_T
 
typedef struct M2MB_BLE_GAP_LE_EXTENDED_CONFIRMATION_REQUEST M2MB_BLE_GAP_LE_EXTENDED_CONFIRMATION_REQUEST_T
 
typedef struct M2MB_BLE_GAP_LE_EXTENDED_OUT_OF_BAND_INFORMATION M2MB_BLE_GAP_LE_EXTENDED_OUT_OF_BAND_INFORMATION_T
 
typedef struct M2MB_BLE_GAP_LE_PAIRING_STATUS M2MB_BLE_GAP_LE_PAIRING_STATUS_T
 
typedef struct M2MB_BLE_GAP_LE_ENCRYPTION_REQUEST_INFORMATION M2MB_BLE_GAP_LE_ENCRYPTION_REQUEST_INFORMATION_T
 
typedef struct M2MB_BLE_GAP_LE_ENCRYPTION_INFORMATION M2MB_BLE_GAP_LE_ENCRYPTION_INFORMATION_T
 
typedef struct M2MB_BLE_GAP_LE_IDENTITY_INFORMATION M2MB_BLE_GAP_LE_IDENTITY_INFORMATION_T
 
typedef struct M2MB_BLE_GAP_LE_SIGNING_INFORMATION M2MB_BLE_GAP_LE_SIGNING_INFORMATION_T
 
typedef struct M2MB_BLE_GAP_LE_SECURITY_ESTABLISHMENT_COMPLETE M2MB_BLE_GAP_LE_SECURITY_ESTABLISHMENT_COMPLETE_T
 
typedef struct M2MB_BLE_GAP_LE_AUTHENTICATION_EVENT_DATA M2MB_BLE_GAP_LE_AUTHENTICATION_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_CONNECTION_PARAMETER_UPDATE_REQUEST_EVENT_DATA M2MB_BLE_GAP_LE_CONNECTION_PARAMETER_UPDATE_REQUEST_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_CONNECTION_PARAMETER_UPDATE_RESPONSE_EVENT_DATA M2MB_BLE_GAP_LE_CONNECTION_PARAMETER_UPDATE_RESPONSE_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_CONNECTION_PARAMETER_UPDATED_EVENT_DATA M2MB_BLE_GAP_LE_CONNECTION_PARAMETER_UPDATED_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED_EVENT_DATA M2MB_BLE_GAP_LE_AUTHENTICATED_PAYLOAD_TIMEOUT_EXPIRED_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_DATA_LENGTH_CHANGE_EVENT_DATA M2MB_BLE_GAP_LE_DATA_LENGTH_CHANGE_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_PHY_UPDATE_COMPLETE_EVENT_DATA M2MB_BLE_GAP_LE_PHY_UPDATE_COMPLETE_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_EXTENDED_ADVERTISING_REPORT_DATA M2MB_BLE_GAP_LE_EXTENDED_ADVERTISING_REPORT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_EXTENDED_ADVERTISING_REPORT_EVENT_DATA M2MB_BLE_GAP_LE_EXTENDED_ADVERTISING_REPORT_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_ADVERTISING_SET_TERMINATED_EVENT_DATA M2MB_BLE_GAP_LE_ADVERTISING_SET_TERMINATED_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_SCAN_REQUEST_RECEIVED_EVENT_DATA M2MB_BLE_GAP_LE_SCAN_REQUEST_RECEIVED_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_CHANNEL_SELECTION_ALGORITHM_UPDATE_EVENT_DATA M2MB_BLE_GAP_LE_CHANNEL_SELECTION_ALGORITHM_UPDATE_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_EVENT_DATA M2MB_BLE_GAP_LE_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_LONG_TERM_KEY_INFORMATION M2MB_BLE_GAP_LE_LONG_TERM_KEY_INFORMATION_T
 
typedef struct M2MB_BLE_GAP_LE_OOB_DATA M2MB_BLE_GAP_LE_OOB_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_SLAVE_SECURITY_INFORMATION M2MB_BLE_GAP_LE_SLAVE_SECURITY_INFORMATION_T
 
typedef struct M2MB_BLE_GAP_LE_MASTER_SECURITY_INFORMATION M2MB_BLE_GAP_LE_MASTER_SECURITY_INFORMATION_T
 
typedef struct M2MB_BLE_GAP_LE_SECURITY_INFORMATION M2MB_BLE_GAP_LE_SECURITY_INFORMATION_T
 
typedef struct M2MB_BLE_GAP_LE_AUTHENTICATION_RESPONSE_INFORMATION M2MB_BLE_GAP_LE_AUTHENTICATION_RESPONSE_INFORMATION_T
 
typedef struct M2MB_BLE_HCI_COMMDRIVERINFORMATION M2MB_BLE_HCI_COMMDRIVERINFORMATION_T
 
typedef struct M2MB_BLE_HCI_USBDRIVERINFORMATION M2MB_BLE_HCI_USBDRIVERINFORMATION_T
 
typedef struct M2MB_BLE_HCI_DRIVERINFORMATION M2MB_BLE_HCI_DRIVERINFORMATION_T
 
typedef struct M2MB_BLE_SCAN_PARAMETERS M2MB_BLE_SCAN_PARAMETERS_T
 
typedef struct M2MB_BLE_PARAM M2MB_BLE_PARAM_T
 
typedef struct M2MB_BLE_DEVICE_INFO M2MB_BLE_DEVICE_INFO_T
 
typedef struct M2MB_BLE_DIS_PNP_ID_DATA M2MB_BLE_DIS_PNP_ID_DATA_T
 
typedef struct M2MB_BLE_INIT_PARAM M2MB_BLE_INIT_PARAM_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTION_INFORMATION M2MB_BLE_GATT_CHARACTERISTIC_DESCRIPTION_INFORMATION_T
 
typedef struct M2MB_BLE_GATT_CHARACTERISTIC_INFORMATION M2MB_BLE_GATT_CHARACTERISTIC_INFORMATION_T
 
typedef struct M2MB_BLE_GATT_SERVICE_DISCOVERY_INDICATION_DATA M2MB_BLE_GATT_SERVICE_DISCOVERY_INDICATION_DATA_T
 
typedef struct M2MB_BLE_GATT_SERVICE_DISCOVERY_COMPLETE_DATA M2MB_BLE_GATT_SERVICE_DISCOVERY_COMPLETE_DATA_T
 
typedef struct M2MB_BLE_GATT_SERVICE_DISCOVERY_EVENT_DATA M2MB_BLE_GATT_SERVICE_DISCOVERY_EVENT_DATA_T
 
typedef struct M2MB_BLE_GAP_LE_EXTENDED_CONNECTION_PARAMETERS M2MB_BLE_GAP_LE_EXTENDED_CONNECTION_PARAMETERS_T
 
typedef struct M2MB_BLE_GAP_LE_EXTENDED_SCANNING_PHY_PARAMETERS M2MB_BLE_GAP_LE_EXTENDED_SCANNING_PHY_PARAMETERS_T
 
typedef struct M2MB_BLE_PASSKEY_RSP_S M2MB_BLE_PASSKEY_RSP_T
 
typedef struct M2MB_BLE_PERSISTENT_DEVICE_REMOTE_DATA M2MB_BLE_PERSISTENT_DEVICE_REMOTE_DATA_T
 
typedef struct M2MB_BLE_PERSISTENT_DATA M2MB_BLE_PERSISTENT_DATA_T
 
typedef VOID(* M2MB_BLE_GAP_LE_EVENT_CB_T) (UINT32 BluetoothStackID, M2MB_BLE_GAP_LE_EVENT_DATA_T *GAP_LE_Event_Data, UINT32 CallbackParameter)
 Declared type that represents the Prototype Function for the GAP LE event callback. More...
 
typedef VOID(* M2MB_BLE_GATT_SERVICE_DISCOVERY_EVENT_CB_T) (UINT32 bleStackId, M2MB_BLE_GATT_SERVICE_DISCOVERY_EVENT_DATA_T *GATT_Service_Discovery_Event_Data, UINT32 CallbackParameter)
 This declared type represents the prototype function for GATT Service Discovery Event data callback. This function will be called whenever a GATT server event occurs that is associated with the specified Bluetooth stack ID. More...
 
typedef VOID(* M2MB_BLE_GATT_CLIENT_EVENT_CB_T) (UINT32 BluetoothStackID, M2MB_BLE_GATT_CLIENT_EVENT_DATA_T *GATT_Client_Event_Data, UINT32 cbParam)
 The following function is for an GATT Client Event Callback. More...
 
typedef VOID(* M2MB_BLE_GATT_SERVER_EVENT_CB_T) (UINT32 BluetoothStackID, M2MB_BLE_GATT_SERVER_EVENT_DATA_T *GATT_Server_Event_Data, UINT32 CallbackParameter)
 The following function is for an GATT Server Event Callback. More...
 
typedef VOID(* M2MB_BLE_GATT_CONNECT_USER_CB_T) (VOID *ctx, UINT32 eventType, M2MB_BLE_DEVICE_INFO_T *deviceInfo)
 This declared type represents the prototype function for a connection event user callback. More...
 
typedef VOID(* M2MB_BLE_PASSKEY_USER_CB_T) (VOID *ctx, UINT32 eventType, M2MB_BLE_PASSKEY_RSP_T passKeyResp)
 Declared type that represents the Prototype Function for the passkey response data user callback. More...
 
typedef VOID(* M2MB_BLE_GAP_PAIR_STATUS_USER_CB_T) (VOID *ctx, UINT32 eventType, M2MB_BLE_GAP_LE_AUTHENTICATION_EVENT_DATA_T *authInfo)
 Declared type that represents the Prototype Function for the pairing status user callback. More...
 
INT32 m2mb_ble_init (M2MB_BLE_INIT_PARAM_T *initParam)
 BLE Interface Initialization. More...
 
INT32 m2mb_ble_set_pairable (UINT32 pairMode)
 BLE Set Pairable Mode. More...
 
INT32 m2mb_ble_set_disc (UINT32 discMode)
 BLE Set discoverable Mode. More...
 
INT32 m2mb_ble_set_connect (UINT32 connMode)
 BLE Set the connect Mode. More...
 
UINT32 m2mb_ble_bluetooth_stack_id_get (VOID)
 BLE Get the StackId. More...
 
INT32 m2mb_ble_set_io_capabilities (UINT32 bleStackId, UINT32 ioCap)
 BLE Set the IoCapability. More...
 
UINT32 m2mb_ble_gaps_instance_id_get (VOID)
 BLE Get the gaps instanceId. More...
 
INT32 m2mb_ble_service_register (UINT32 bleStackId, UINT8 serviceFlag, UINT32 srviceAttCnt, M2MB_BLE_GATT_SERVICE_ATTRIBUTE_ENTRY_T *ServiceTable, M2MB_BLE_GATT_ATTRIBUTE_HANDLE_GROUP_T *ServiceHandleGroupResult, M2MB_BLE_GATT_SERVER_EVENT_CB_T ServerEventCallback, UINT32 CallbackParameter)
 BLE Registers a GATT service with the local GATT server. More...
 
VOID m2mb_ble_service_deregister (UINT32 serviceId)
 BLE De-registers a previously registered GATT service that was registered via a successful call to the m2mb_ble_service_register() function. More...
 
void m2mb_ble_advParamGet (M2MB_BLE_GAP_LE_ADVERTISING_PARAMETERS_T *advParam)
 BLE Advertising params get. More...
 
void m2mb_ble_advParamSet (M2MB_BLE_GAP_LE_ADVERTISING_PARAMETERS_T advParam)
 BLE Advertising params set. More...
 
VOID m2mb_ble_advteriseDataInit (UINT8 enableFlag)
 BLE Advertising data init. More...
 
VOID m2mb_ble_scanRespDataInit (UINT8 enableFlag)
 BLE Scan Response data init. More...
 
INT32 m2mb_ble_advertise (UINT32 enable)
 BLE Advertise enable. More...
 
INT32 m2mb_ble_send_notification (UINT32 serviceId, char *msg, UINT32 len, UINT32 attOffset)
 Provides a mechanism for a service handler to send a GATT attribute handle/value notification to a remote, connected, GATT client. More...
 
INT32 m2mb_ble_send_indication (UINT32 serviceId, char *msg, UINT32 len, UINT32 attOffset)
 Provides a mechanism for a service handler to send a GATT attribute handle/value notification to a remote, connected, GATT client. More...
 
INT32 m2mb_ble_read_response (UINT32 bleStackId, UINT32 transactionId, UINT32 dataLen, UINT8 *data)
 Responds with a successful response to a received M2MB_BLE_ET_GATT_SERVER_READ_REQUEST_E event. More...
 
INT32 m2mb_ble_write_response (UINT32 bleStackId, UINT32 transactionId)
 Provides a mechanism for a service handler to successfully respond to a received GATT/ATT write request (M2MB_BLE_ET_GATT_SERVER_WRITE_REQUEST_E) event. More...
 
INT32 m2mb_ble_error_response (UINT32 bleStackId, UINT32 transactionId, UINT16 attOffset, UINT8 errCode)
 Provides a mechanism for a service handler to respond to a received GATT/ATT request with an error response. More...
 
INT32 m2mb_ble_gap_le_perform_scan (UINT32 bleStackId, M2MB_BLE_GAP_LE_SCAN_TYPE_T scanType, UINT32 scanInterval, UINT32 scanWindow, M2MB_BLE_GAP_LE_ADDRESS_TYPE_T localAddressType, M2MB_BLE_GAP_LE_FILTER_POLICY_T filterPolicy, M2MB_BOOL_T filterDuplicates, M2MB_BLE_GAP_LE_EVENT_CB_T gapLeEventCb, UINT32 cbParam)
 Starts an LE scan procedure. More...
 
INT32 m2mb_ble_gap_le_cancel_scan (UINT32 bleStackId)
 Cancels a scan process that was started via a successful call to the m2mb_ble_gap_le_perform_scan() function. More...
 
INT32 m2mb_ble_gap_le_create_connection (UINT32 bleStackId, UINT32 scanInterval, UINT32 scanWindow, M2MB_BLE_GAP_LE_FILTER_POLICY_T initatorFilterPolicy, M2MB_BLE_GAP_LE_ADDRESS_TYPE_T remoteAddressType, M2MB_BLE_BD_ADDR_T *remoteDevice, M2MB_BLE_GAP_LE_ADDRESS_TYPE_T localAddressType, M2MB_BLE_GAP_LE_CONNECTION_PARAMETERS_T *connectionParameters, M2MB_BLE_GAP_LE_EVENT_CB_T gapLeEventCb, UINT32 cbParam)
 Enables the local host to create a connection to a remote device using the Bluetooth LE radio. More...
 
INT32 m2mb_ble_gap_le_cancel_create_connection (UINT32 bleStackId)
 Cancels a connection establishment procedure that was started via a successful call to the m2mb_ble_gap_le_create_connection() function. More...
 
INT32 m2mb_ble_gap_le_query_encryption_mode (UINT32 bleStackId, M2MB_BLE_BD_ADDR_T remoteAddress, M2MB_BLE_GAP_ENCRYPTION_MODE_T *gapEncryptionMode)
 Queries the current Encryption Mode. More...
 
INT32 m2mb_ble_disconnect_device (UINT32 bleStackId, UINT32 connId)
 Enables the local host to disconnect a currently connected LE device. More...
 
INT32 m2mb_ble_gatt_start_service_discovery (UINT32 bleStackId, UINT32 connectionID, UINT32 numberOfUUID, M2MB_BLE_GATT_UUID_T *uuidList, M2MB_BLE_GATT_SERVICE_DISCOVERY_EVENT_CB_T serviceDiscoveryCb, UINT32 cbParam)
 Performs a service discovery operation that will automatically discover all included services, characteristics, and characteristic descriptors for either all services supported by a remote device or all services of a specified UUID that are supported by a remote device. More...
 
INT32 m2mb_ble_gatt_read_value_request (UINT32 bleStackId, UINT32 connectionId, UINT16 attributeHandle, M2MB_BLE_GATT_CLIENT_EVENT_CB_T gattClientEventCb, UINT32 cbParam)
 Performs a read request on a remote device for a specific attribute value. More...
 
INT32 m2mb_ble_gatt_write_request (UINT32 bleStackId, UINT32 connectionId, UINT16 attributeHandle, UINT16 attributeLength, VOID *attributrValue, M2MB_BLE_GATT_CLIENT_EVENT_CB_T gattClientEventCb, UINT32 cbParam)
 Performs a write request to a remote device for a specified attribute. More...
 
VOID m2mb_ble_set_get_connection_cb (VOID *cbCtx, M2MB_BLE_GATT_CONNECT_USER_CB_T cb)
 This function is used to set and get the connection callback function. More...
 
VOID m2mb_ble_set_passkey_cb (VOID *cbCtx, M2MB_BLE_PASSKEY_USER_CB_T cb)
 This function is used to set the passkey call back. More...
 
VOID m2mb_ble_set_pairing_status_cb (VOID *cbCtx, M2MB_BLE_GAP_PAIR_STATUS_USER_CB_T cb)
 This function is used to set the pairing status callback function. More...
 
INT32 m2mb_ble_gap_query_local_bdAddr (UINT32 bleStackID, M2MB_BLE_BD_ADDR_T *bdAddr)
 Queries (and reports) the device address of the local Bluetooth device. More...
 
UINT32 m2mb_ble_bluetooth_dis_id_get ()
 BLE get the device instance Id. More...
 
UINT32 m2mb_ble_get_gatt_mtu ()
 BLE get the MTU size. More...
 
UINT32 m2mb_ble_get_connection_count ()
 BLE get the connection count value. More...
 
INT32 m2mb_ble_dis_query_pnp_id (UINT32 bleStackId, UINT32 disInstanceId, M2MB_BLE_DIS_PNP_ID_DATA_T *pnpIdData)
 Queries the current PnP ID Data characteristic value on the specified DIS instance. More...
 
INT32 m2mb_ble_dis_set_pnp_id (UINT32 bleStackId, UINT32 disInstanceId, M2MB_BLE_DIS_PNP_ID_DATA_T *pnpIdData)
 Queries the current PnP ID Data characteristic value on the specified DIS instance. More...
 
INT32 m2mb_ble_gap_le_set_advertising_data (UINT32 bleStackId, UINT32 len, M2MB_BLE_ADVERTISING_DATA_T *advertisingData)
 Sets the advertising data that is used during the advertising procedure. More...
 
M2MB_BLE_DEVICE_INFO_Tm2mb_ble_get_current_peer_device_info ()
 The following function searches the specified List for the specified Connection bluetooth device address. More...
 
INT32 m2mb_ble_gaps_set_device_name (UINT32 bleStackId, UINT32 gapsInstanceId, char *deviceName)
 Sets the device name characteristic of a generic device on the specified GAP Service Instance. More...
 
INT32 m2mb_ble_gaps_query_device_name (UINT32 bleStackId, UINT32 gapsInstanceId, char *deviceName)
 Queries the current device name characteristic of a generic device from the specified GAP Service Instance. More...
 
INT32 m2mb_ble_gap_le_set_scan_response_data (UINT32 bleStackId, UINT32 len, M2MB_BLE_SCAN_RESPONSE_DATA_T *scanRespData)
 Queries the current device name characteristic of a generic device from the specified GAP Service Instance. More...
 
UINT8 m2mb_ble_justworksPairingStatus_Get (VOID)
 The following function is used to check whether Just Works pairing is used during the connection process. More...
 
INT32 m2mb_ble_txpower_set (UINT32 bleStackId, M2MB_BOOL_T conn, INT8 txPower)
 
INT32 m2mb_ble_txpower_get (UINT32 bleStackId, M2MB_BOOL_T conn, INT8 *txPower)
 
INT32 m2mb_ble_txtest (UINT32 BluetoothStackID, UINT8 TX_Frequency, UINT8 Length_Of_Test_Data, UINT8 Packet_Payload, UINT8 *StatusResult)
 
INT32 m2mb_ble_rxtest (UINT32 BluetoothStackID, UINT8 RX_Frequency, UINT8 *StatusResult)
 

Detailed Description

BLE driver functionality.

we866e4/epl/inc/wireless/ble/m2mb_ble_driver.h

This file contains the public APIs and structures of Bluetooth Low Energy (BLE) client and server module.

Note
<Notes, dependencies mandatory> Dependencies:
Author
Ashish Verma
Date
05/07/2018

Definition in file m2mb_ble_driver.h.