14#ifndef __EFI_BLUETOOTH_ATTRIBUTE_H__
15#define __EFI_BLUETOOTH_ATTRIBUTE_H__
17#define EFI_BLUETOOTH_ATTRIBUTE_SERVICE_BINDING_PROTOCOL_GUID \
19 0x5639867a, 0x8c8e, 0x408d, { 0xac, 0x2f, 0x4b, 0x61, 0xbd, 0xc0, 0xbb, 0xbb } \
22#define EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL_GUID \
24 0x898890e9, 0x84b2, 0x4f3a, { 0x8c, 0x58, 0xd8, 0x57, 0x78, 0x13, 0xe0, 0xac } \
43#define UUID_16BIT_TYPE_LEN 2
44#define UUID_32BIT_TYPE_LEN 4
45#define UUID_128BIT_TYPE_LEN 16
47#define BLUETOOTH_IS_ATTRIBUTE_OF_TYPE(a, t) ((a)->Type.Length == UUID_16BIT_TYPE_LEN && (a)->Type.Data.Uuid16 == (t))
55 UINT16 ReadEncryption : 1;
56 UINT16 ReadAuthentication : 1;
57 UINT16 ReadAuthorization : 1;
58 UINT16 ReadKeySize : 5;
61 UINT16 WriteEncryption : 1;
62 UINT16 WriteAuthentication : 1;
63 UINT16 WriteAuthorization : 1;
64 UINT16 WriteKeySize : 5;
73 UINT16 AttributeHandle;
79 UINT16 EndGroupHandle;
85 UINT16 StartGroupHandle;
86 UINT16 EndGroupHandle;
92 UINT8 CharacteristicProperties;
93 UINT16 CharacteristicValueHandle;
105 UINT16 AttributeHandle;
109 UINT16 AttributeHandle;
114 UINT8 AttributeOpCode;
126 UINTN AdvertisementDataSize;
127 VOID *AdvertisementData;
236 OUT VOID **ServiceInfo
261 OUT VOID **DeviceInfo
271extern EFI_GUID gEfiBluetoothAttributeProtocolGuid;
272extern EFI_GUID gEfiBluetoothAttributeServiceBindingProtocolGuid;
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_ATTRIBUTE_GET_DEVICE_INFO)(IN EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL *This, OUT UINTN *DeviceInfoSize, OUT VOID **DeviceInfo)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_ATTRIBUTE_GET_SERVICE_INFO)(IN EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL *This, OUT UINTN *ServiceInfoSize, OUT VOID **ServiceInfo)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_ATTRIBUTE_REGISTER_FOR_SERVER_NOTIFICATION)(IN EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL *This, IN EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_PARAMETER *CallbackParameter, IN EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_FUNCTION Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_FUNCTION)(IN EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL *This, IN VOID *Data, IN UINTN DataLength, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_ATTRIBUTE_SEND_REQUEST)(IN EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL *This, IN VOID *Data, IN UINTN DataLength, IN EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_FUNCTION Callback, IN VOID *Context)