13#ifndef __EFI_BLUETOOTH_CONFIG_PROTOCOL_H__
14#define __EFI_BLUETOOTH_CONFIG_PROTOCOL_H__
18#define EFI_BLUETOOTH_CONFIG_PROTOCOL_GUID \
20 0x62960cf3, 0x40ff, 0x4263, { 0xa7, 0x7c, 0xdf, 0xde, 0xbd, 0x19, 0x1b, 0x4b } \
25typedef UINT32 EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_TYPE;
26#define EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_CONNECTED 0x1
27#define EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_PAIRED 0x2
48 UINT8 RemoteDeviceName[BLUETOOTH_HCI_COMMAND_LOCAL_READABLE_NAME_MAX_SIZE];
87 EfiBluetoothConfigDataTypeRandomAddress,
88 EfiBluetoothConfigDataTypeRSSI,
93 EfiBluetoothConfigDataTypeIoCapability,
94 EfiBluetoothConfigDataTypeOOBDataFlag,
101 EfiBluetoothConfigDataTypeEncKeySize,
102 EfiBluetoothConfigDataTypeMax,
128 EfiBluetoothCallbackTypeMax
361 IN VOID *InputBuffer,
363 OUT VOID **OutputBuffer,
402 OUT UINT8 LinkKey[BLUETOOTH_HCI_LINK_KEY_SIZE]
440 IN UINT8 LinkKey[BLUETOOTH_HCI_LINK_KEY_SIZE]
481 IN VOID *InputBuffer,
520extern EFI_GUID gEfiBluetoothConfigProtocolGuid;
EFI_BLUETOOTH_CONFIG_DATA_TYPE
@ EfiBluetoothConfigDataTypeKeyType
@ EfiBluetoothConfigDataTypeClassOfDevice
@ EfiBluetoothConfigDataTypeDeviceName
@ EfiBluetoothConfigDataTypeRemoteDeviceState
@ EfiBluetoothConfigDataTypeControllerStoredPairedDeviceList
@ EfiBluetoothConfigDataTypeBDADDR
@ EfiBluetoothConfigDataTypeDiscoverable
@ EfiBluetoothConfigDataTypeSdpInfo
@ EfiBluetoothConfigDataTypeAdvertisementData
@ EfiBluetoothConfigDataTypeAvailableDeviceList
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_REGISTER_GET_LINK_KEY_CALLBACK_FUNCTION)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN VOID *Context, IN BLUETOOTH_ADDRESS *BDAddr, OUT UINT8 LinkKey[BLUETOOTH_HCI_LINK_KEY_SIZE])
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_REGISTER_PIN_CALLBACK_FUNCTION)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN VOID *Context, IN EFI_BLUETOOTH_PIN_CALLBACK_TYPE CallbackType, IN VOID *InputBuffer, IN UINTN InputBufferSize, OUT VOID **OutputBuffer, OUT UINTN *OutputBufferSize)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_DISCONNECT)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN BLUETOOTH_ADDRESS *BD_ADDR, IN UINT8 Reason)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_REGISTER_PIN_CALLBACK)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_REGISTER_PIN_CALLBACK_FUNCTION Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_SET_DATA)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_DATA_TYPE DataType, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_INIT)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_GET_DATA)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_DATA_TYPE DataType, IN OUT UINTN *DataSize, IN OUT VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK_FUNCTION)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN VOID *Context, IN EFI_BLUETOOTH_CONNECT_COMPLETE_CALLBACK_TYPE CallbackType, IN BLUETOOTH_ADDRESS *BDAddr, IN VOID *InputBuffer, IN UINTN InputBufferSize)
EFI_BLUETOOTH_PIN_CALLBACK_TYPE
@ EfiBluetoothCallbackTypeOOBDataRequest
@ EfiBluetoothCallbackTypePinCodeRequest
@ EfiBluetoothCallbackTypeUserConfirmationRequest
@ EfiBluetoothCallbackTypeUserPasskeyNotification
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_GET_REMOTE_DATA)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_DATA_TYPE DataType, IN BLUETOOTH_ADDRESS *BDAddr, IN OUT UINTN *DataSize, IN OUT VOID *Data)
EFI_BLUETOOTH_CONNECT_COMPLETE_CALLBACK_TYPE
@ EfiBluetoothConnCallbackTypeDisconnected
@ EfiBluetoothConnCallbackTypeConnected
@ EfiBluetoothConnCallbackTypeEncrypted
@ EfiBluetoothConnCallbackTypeAuthenticated
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_SCAN)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN BOOLEAN ReScan, IN UINT8 ScanType, IN EFI_BLUETOOTH_CONFIG_SCAN_CALLBACK_FUNCTION Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_REGISTER_SET_LINK_KEY_CALLBACK)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_REGISTER_SET_LINK_KEY_CALLBACK_FUNCTION Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_REGISTER_GET_LINK_KEY_CALLBACK)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_REGISTER_GET_LINK_KEY_CALLBACK_FUNCTION Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK_FUNCTION Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_CONNECT)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN BLUETOOTH_ADDRESS *BD_ADDR)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_REGISTER_SET_LINK_KEY_CALLBACK_FUNCTION)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN VOID *Context, IN BLUETOOTH_ADDRESS *BDAddr, IN UINT8 LinkKey[BLUETOOTH_HCI_LINK_KEY_SIZE])
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_CONFIG_SCAN_CALLBACK_FUNCTION)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN VOID *Context, IN EFI_BLUETOOTH_SCAN_CALLBACK_INFORMATION *CallbackInfo)
BLUETOOTH_CLASS_OF_DEVICE ClassOfDevice