13#ifndef __EFI_BLUETOOTH_LE_CONFIG_H__
14#define __EFI_BLUETOOTH_LE_CONFIG_H__
19#define EFI_BLUETOOTH_LE_CONFIG_PROTOCOL_GUID \
21 0x8f76da58, 0x1f99, 0x4275, { 0xa4, 0xec, 0x47, 0x56, 0x51, 0x5b, 0x1c, 0xe8 } \
78 UINT8 RemoteDeviceState;
80 UINTN AdvertisementDataSize;
81 VOID *AdvertisementData;
198 IN BOOLEAN AutoReconnect,
199 IN BOOLEAN DoBonding,
436 EfiBluetoothSmpLocalIR,
437 EfiBluetoothSmpLocalER,
438 EfiBluetoothSmpLocalDHK,
440 EfiBluetoothSmpKeysDistributed = 0x1000,
441 EfiBluetoothSmpKeySize,
442 EfiBluetoothSmpKeyType,
443 EfiBluetoothSmpPeerLTK,
444 EfiBluetoothSmpPeerIRK,
445 EfiBluetoothSmpPeerCSRK,
446 EfiBluetoothSmpPeerRand,
447 EfiBluetoothSmpPeerEDIV,
448 EfiBluetoothSmpPeerSignCounter,
449 EfiBluetoothSmpLocalLTK,
450 EfiBluetoothSmpLocalIRK,
451 EfiBluetoothSmpLocalCSRK,
452 EfiBluetoothSmpLocalSignCounter,
453 EfiBluetoothSmpLocalDIV,
454 EfiBluetoothSmpPeerAddressList,
456} EFI_BLUETOOTH_LE_SMP_DATA_TYPE;
480 IN EFI_BLUETOOTH_LE_SMP_DATA_TYPE DataType,
528 IN EFI_BLUETOOTH_LE_SMP_DATA_TYPE Type,
577 IN VOID *InputBuffer,
627extern EFI_GUID gEfiBluetoothLeConfigProtocolGuid;
EFI_BLUETOOTH_CONFIG_DATA_TYPE
EFI_BLUETOOTH_CONNECT_COMPLETE_CALLBACK_TYPE
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_SMP_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN VOID *Context, IN BLUETOOTH_LE_ADDRESS *BDAddr, IN EFI_BLUETOOTH_LE_SMP_EVENT_DATA_TYPE EventDataType, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_SEND_SMP_AUTH_DATA)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN BLUETOOTH_LE_ADDRESS *BDAddr, IN EFI_BLUETOOTH_LE_SMP_EVENT_DATA_TYPE EventDataType, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_SMP_SET_DATA_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN VOID *Context, IN BLUETOOTH_LE_ADDRESS *BDAddr, IN EFI_BLUETOOTH_LE_SMP_DATA_TYPE Type, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_DISCONNECT)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN BLUETOOTH_LE_ADDRESS *BD_ADDR, IN UINT8 Reason)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_SCAN_CALLBACK_FUNCTION)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN VOID *Context, IN EFI_BLUETOOTH_LE_SCAN_CALLBACK_INFORMATION *CallbackInfo)
EFI_BLUETOOTH_LE_SMP_EVENT_DATA_TYPE
@ EfiBluetoothSmpNumericComparisonEvent
@ EfiBluetoothSmpAuthorizationRequestEvent
@ EfiBluetoothSmpOOBDataRequestEvent
@ EfiBluetoothSmpPasskeyReadyEvent
@ EfiBluetoothSmpPasskeyRequestEvent
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_REGISTER_SMP_SET_DATA_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_LE_CONFIG_SMP_SET_DATA_CALLBACK Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_CONNECT_COMPLETE_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN VOID *Context, IN EFI_BLUETOOTH_CONNECT_COMPLETE_CALLBACK_TYPE CallbackType, IN BLUETOOTH_LE_ADDRESS *BDAddr, IN VOID *InputBuffer, IN UINTN InputBufferSize)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_REGISTER_SMP_GET_DATA_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_LE_CONFIG_SMP_GET_DATA_CALLBACK Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_GET_REMOTE_DATA)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_DATA_TYPE DataType, IN BLUETOOTH_LE_ADDRESS *BDAddr, IN OUT UINTN *DataSize, IN OUT VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_LE_CONFIG_CONNECT_COMPLETE_CALLBACK Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_SET_DATA)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_DATA_TYPE DataType, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_INIT)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_REGISTER_SMP_AUTH_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_LE_SMP_CALLBACK Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_CONNECT)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN BOOLEAN AutoReconnect, IN BOOLEAN DoBonding, IN EFI_BLUETOOTH_LE_CONFIG_CONNECT_PARAMETER *ConnectParameter OPTIONAL, IN BLUETOOTH_LE_ADDRESS *BD_ADDR)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_SMP_GET_DATA_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN VOID *Context, IN BLUETOOTH_LE_ADDRESS *BDAddr, IN EFI_BLUETOOTH_LE_SMP_DATA_TYPE DataType, IN OUT UINTN *DataSize, OUT VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_SCAN)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN BOOLEAN ReScan, IN UINT32 Timeout, IN EFI_BLUETOOTH_LE_CONFIG_SCAN_PARAMETER *ScanParameter OPTIONAL, IN EFI_BLUETOOTH_LE_CONFIG_SCAN_CALLBACK_FUNCTION Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_GET_DATA)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_DATA_TYPE DataType, IN OUT UINTN *DataSize, IN OUT VOID *Data OPTIONAL)
UINT16 SupervisionTimeout
UINT8 ScanningFilterPolicy
UINT8 AdvertisementFlagFilter