MdePkg[all]
1.08
|
Macros | |
#define | EFI_BLUETOOTH_ATTRIBUTE_SERVICE_BINDING_PROTOCOL_GUID |
#define | EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL_GUID |
#define | UUID_16BIT_TYPE_LEN 2 |
#define | UUID_32BIT_TYPE_LEN 4 |
#define | UUID_128BIT_TYPE_LEN 16 |
#define | BLUETOOTH_IS_ATTRIBUTE_OF_TYPE(a, t) ((a)->Type.Length == UUID_16BIT_TYPE_LEN && (a)->Type.Data.Uuid16 == (t)) |
Typedefs | |
typedef struct _EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL | EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL |
typedef IN VOID * | Data |
typedef IN VOID IN UINTN | DataLength |
typedef IN VOID IN UINTN IN VOID * | Context |
typedef IN VOID IN UINTN IN EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_FUNCTION | Callback |
typedef 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) |
typedef EFI_STATUS(EFIAPI * | EFI_BLUETOOTH_ATTRIBUTE_GET_SERVICE_INFO )(IN EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL *This, OUT UINTN *ServiceInfoSize, OUT VOID **ServiceInfo) |
typedef EFI_STATUS(EFIAPI * | EFI_BLUETOOTH_ATTRIBUTE_GET_DEVICE_INFO )(IN EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL *This, OUT UINTN *DeviceInfoSize, OUT VOID **DeviceInfo) |
Functions | |
typedef | EFI_STATUS (EFIAPI *EFI_BLUETOOTH_ATTRIBUTE_CALLBACK_FUNCTION)(IN EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL *This |
Variables | |
EFI_GUID | gEfiBluetoothAttributeProtocolGuid |
EFI_GUID | gEfiBluetoothAttributeServiceBindingProtocolGuid |
EFI Bluetooth Attribute Protocol as defined in UEFI 2.7. This protocol provides service for Bluetooth ATT (Attribute Protocol) and GATT (Generic Attribute Profile) based protocol interfaces.
Copyright (c) 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
#define BLUETOOTH_IS_ATTRIBUTE_OF_TYPE | ( | a, | |
t | |||
) | ((a)->Type.Length == UUID_16BIT_TYPE_LEN && (a)->Type.Data.Uuid16 == (t)) |
#define EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL_GUID |
#define EFI_BLUETOOTH_ATTRIBUTE_SERVICE_BINDING_PROTOCOL_GUID |
#define UUID_128BIT_TYPE_LEN 16 |
#define UUID_16BIT_TYPE_LEN 2 |
#define UUID_32BIT_TYPE_LEN 4 |
typedef IN VOID IN UINTN DataLength |
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_ATTRIBUTE_GET_DEVICE_INFO)(IN EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL *This, OUT UINTN *DeviceInfoSize, OUT VOID **DeviceInfo) |
Get Bluetooth device information.
[in] | This | Pointer to the EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL instance. |
[out] | DeviceInfoSize | A pointer to the size, in bytes, of the DeviceInfo buffer. |
[out] | DeviceInfo | A pointer to a callee allocated buffer that returns Bluetooth device information. Callee allocates this buffer by using EFI Boot Service AllocatePool(). If this device is Bluetooth classic device, EFI_BLUETOOTH_DEVICE_INFO should be used. If this device is Bluetooth LE device, EFI_BLUETOOTH_LE_DEVICE_INFO should be used. |
EFI_SUCCESS | The Bluetooth device information is returned successfully. |
EFI_DEVICE_ERROR | A hardware error occurred trying to retrieve the Bluetooth device information |
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_ATTRIBUTE_GET_SERVICE_INFO)(IN EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL *This, OUT UINTN *ServiceInfoSize, OUT VOID **ServiceInfo) |
Get Bluetooth discovered service information.
[in] | This | Pointer to the EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL instance. |
[out] | ServiceInfoSize | A pointer to the size, in bytes, of the ServiceInfo buffer. |
[out] | ServiceInfo | A pointer to a callee allocated buffer that returns Bluetooth discovered service information. Callee allocates this buffer by using EFI Boot Service AllocatePool(). |
EFI_SUCCESS | The Bluetooth discovered service information is returned successfully. |
EFI_DEVICE_ERROR | A hardware error occurred trying to retrieve the Bluetooth discovered service information. |
typedef 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) |
Register or unregister a server initiated message, such as NOTIFICATION or INDICATION, on a characteristic value on remote server.
[in] | This | Pointer to the EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL instance. |
[in] | CallbackParameter | The parameter of the callback. |
[in] | Callback | Callback function for server initiated attribute protocol. NULL callback function means unregister the server initiated callback. |
[in] | Context | Data passed into Callback function. It is optional parameter and may be NULL. |
EFI_SUCCESS | The callback function is registered or unregistered successfully |
EFI_INVALID_PARAMETER | The attribute opcode is not server initiated message opcode. See Bluetooth specification, Vol 3, Part F, Attribute Protocol. |
EFI_ALREADY_STARTED | A callback function is already registered on the same attribute opcode and attribute handle, when the Callback is not NULL. |
EFI_NOT_STARTED | A callback function is not registered on the same attribute opcode and attribute handle, when the Callback is NULL. |
EFI_NOT_READY | A GATT operation is already underway for this device. |
EFI_UNSUPPORTED | The attribute does not support notification. |
typedef EFI_STATUS | ( | EFIAPI * | EFI_BLUETOOTH_ATTRIBUTE_SEND_REQUEST | ) |
The callback function to send request.
[in] | This | Pointer to the EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL instance. |
[in] | Data | Data received. The first byte is the attribute opcode, followed by opcode specific fields. See Bluetooth specification, Vol 3, Part F, Attribute Protocol. It might be a normal RESPONSE message, or ERROR RESPONSE messag |
[in] | DataLength | The length of Data in bytes. |
[in] | Context | The context passed from the callback registration request. |
EFI_SUCCESS | The callback function complete successfully. |
Send a "REQUEST" or "COMMAND" message to remote server and receive a "RESPONSE" message for "REQUEST" from remote server according to Bluetooth attribute protocol data unit(PDU).
[in] | This | Pointer to the EFI_BLUETOOTH_ATTRIBUTE_PROTOCOL instance. |
[in] | Data | Data of a REQUEST or COMMAND message. The first byte is the attribute PDU related opcode, followed by opcode specific fields. See Bluetooth specification, Vol 3, Part F, Attribute Protocol. |
[in] | DataLength | The length of Data in bytes. |
[in] | Callback | Callback function to notify the RESPONSE is received to the caller, with the response buffer. Caller must check the response buffer content to know if the request action is success or fail. It may be NULL if the data is a COMMAND. |
[in] | Context | Data passed into Callback function. It is optional parameter and may be NULL. |
EFI_SUCCESS | The request is sent successfully. |
EFI_INVALID_PARAMETER | One or more parameters are invalid due to following conditions:
|
EFI_DEVICE_ERROR | Sending the request failed due to the host controller or the device error. |
EFI_NOT_READY | A GATT operation is already underway for this device. |
EFI_UNSUPPORTED | The attribute does not support the corresponding operation. |
EFI_GUID gEfiBluetoothAttributeProtocolGuid |
EFI_GUID gEfiBluetoothAttributeServiceBindingProtocolGuid |