MdePkg/Include/Protocol/BluetoothConfig.h File Reference
|
Data Structures |
struct | EFI_BLUETOOTH_SCAN_CALLBACK_INFORMATION |
struct | _EFI_BLUETOOTH_CONFIG_PROTOCOL |
Defines |
#define | EFI_BLUETOOTH_CONFIG_PROTOCOL_GUID |
#define | EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_CONNECTED 0x1 |
#define | EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_PAIRED 0x2 |
Typedefs |
typedef struct
_EFI_BLUETOOTH_CONFIG_PROTOCOL | EFI_BLUETOOTH_CONFIG_PROTOCOL |
typedef UINT32 | EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_TYPE |
typedef EFI_STATUS(EFIAPI * | EFI_BLUETOOTH_CONFIG_INIT )(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This) |
typedef IN VOID * | Context |
typedef IN VOID IN
EFI_BLUETOOTH_SCAN_CALLBACK_INFORMATION * | CallbackInfo |
typedef 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) |
typedef EFI_STATUS(EFIAPI * | EFI_BLUETOOTH_CONFIG_CONNECT )(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN BLUETOOTH_ADDRESS *BD_ADDR) |
typedef EFI_STATUS(EFIAPI * | EFI_BLUETOOTH_CONFIG_DISCONNECT )(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN BLUETOOTH_ADDRESS *BD_ADDR, IN UINT8 Reason) |
typedef 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) |
typedef 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) |
typedef 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) |
typedef 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) |
typedef 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) |
typedef 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]) |
typedef 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) |
typedef 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]) |
typedef 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) |
typedef 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) |
typedef 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) |
Enumerations |
enum | EFI_BLUETOOTH_CONFIG_DATA_TYPE {
EfiBluetoothConfigDataTypeDeviceName,
EfiBluetoothConfigDataTypeClassOfDevice,
EfiBluetoothConfigDataTypeRemoteDeviceState,
EfiBluetoothConfigDataTypeSdpInfo,
EfiBluetoothConfigDataTypeBDADDR,
EfiBluetoothConfigDataTypeDiscoverable,
EfiBluetoothConfigDataTypeControllerStoredPairedDeviceList,
EfiBluetoothConfigDataTypeAvailableDeviceList,
EfiBluetoothConfigDataTypeMax
} |
enum | EFI_BLUETOOTH_PIN_CALLBACK_TYPE {
EfiBluetoothCallbackTypeUserPasskeyNotification,
EfiBluetoothCallbackTypeUserConfirmationRequest,
EfiBluetoothCallbackTypeOOBDataRequest,
EfiBluetoothCallbackTypePinCodeRequest,
EfiBluetoothCallbackTypeMax
} |
enum | EFI_BLUETOOTH_CONNECT_COMPLETE_CALLBACK_TYPE { EfiBluetoothConnCallbackTypeDisconnected,
EfiBluetoothConnCallbackTypeConnected,
EfiBluetoothConnCallbackTypeAuthenticated,
EfiBluetoothConnCallbackTypeEncrypted
} |
Functions |
typedef | EFI_STATUS (EFIAPI *EFI_BLUETOOTH_CONFIG_SCAN_CALLBACK_FUNCTION)(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This |
Variables |
EFI_GUID | gEfiBluetoothConfigProtocolGuid |
Detailed Description
EFI Bluetooth Configuration Protocol as defined in UEFI 2.5. This protocol abstracts user interface configuration for Bluetooth device.
Copyright (c) 2015, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
- Revision Reference:
- This Protocol is introduced in UEFI Specification 2.5
Define Documentation
#define EFI_BLUETOOTH_CONFIG_PROTOCOL_GUID |
Value:
{ \
0x62960cf3, 0x40ff, 0x4263, { 0xa7, 0x7c, 0xdf, 0xde, 0xbd, 0x19, 0x1b, 0x4b } \
}
#define EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_CONNECTED 0x1 |
#define EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_PAIRED 0x2 |
Typedef Documentation
Connect a Bluetooth device.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| BD_ADDR | The address of Bluetooth device to be connected. |
- Return values:
-
| EFI_SUCCESS | The Bluetooth device is connected successfully. |
| EFI_ALREADY_STARTED | The Bluetooth device is already connected. |
| EFI_NOT_FOUND | The Bluetooth device is not found. |
| EFI_DEVICE_ERROR | A hardware error occurred trying to connect the Bluetooth device. |
Disconnect a Bluetooth device.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| BD_ADDR | The address of Bluetooth device to be connected. |
| Reason | Bluetooth disconnect reason. See Bluetooth specification for detail. |
- Return values:
-
| EFI_SUCCESS | The Bluetooth device is disconnected successfully. |
| EFI_NOT_STARTED | The Bluetooth device is not connected. |
| EFI_NOT_FOUND | The Bluetooth device is not found. |
| EFI_DEVICE_ERROR | A hardware error occurred trying to disconnect the Bluetooth device. |
Get Bluetooth configuration data.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| DataType | Configuration data type. |
| DataSize | On input, indicates the size, in bytes, of the data buffer specified by Data. On output, indicates the amount of data actually returned. |
| Data | A pointer to the buffer of data that will be returned. |
- Return values:
-
| EFI_SUCCESS | The Bluetooth configuration data is returned successfully. |
| EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE:
- DataSize is NULL.
- *DataSize is 0.
- Data is NULL.
|
| EFI_UNSUPPORTED | The DataType is unsupported. |
| EFI_NOT_FOUND | The DataType is not found. |
| EFI_BUFFER_TOO_SMALL | The buffer is too small to hold the buffer. |
Get remove Bluetooth device configuration data.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| DataType | Configuration data type. |
| BDAddr | Remote Bluetooth device address. |
| DataSize | On input, indicates the size, in bytes, of the data buffer specified by Data. On output, indicates the amount of data actually returned. |
| Data | A pointer to the buffer of data that will be returned. |
- Return values:
-
| EFI_SUCCESS | The remote Bluetooth device configuration data is returned successfully. |
| EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE:
- DataSize is NULL.
- *DataSize is 0.
- Data is NULL.
|
| EFI_UNSUPPORTED | The DataType is unsupported. |
| EFI_NOT_FOUND | The DataType is not found. |
| EFI_BUFFER_TOO_SMALL | The buffer is too small to hold the buffer. |
Initialize Bluetooth host controller and local device.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
- Return values:
-
| EFI_SUCCESS | The Bluetooth host controller and local device is initialized successfully. |
| EFI_DEVICE_ERROR | A hardware error occurred trying to initialize the Bluetooth host controller and local device. |
Register link connect complete callback function.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| Callback | The callback function. NULL means unregister. |
| Context | Data passed into Callback function. This is optional parameter and may be NULL. |
- Return values:
-
| EFI_SUCCESS | The link connect complete callback function is registered successfully. |
The callback function. It is called after connect completed.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| Context | Context passed from registration. |
| CallbackType | Callback type in EFI_BLUETOOTH_CONNECT_COMPLETE_CALLBACK_TYPE. |
| BDAddr | A pointer to Bluetooth device address. |
| InputBuffer | A pointer to the buffer of data that is input from callback caller. |
| InputBufferSize | Indicates the size, in bytes, of the data buffer specified by InputBuffer. |
- Return values:
-
| EFI_SUCCESS | The callback function complete successfully. |
Register get link key callback function.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| Callback | The callback function. NULL means unregister. |
| Context | Data passed into Callback function. This is optional parameter and may be NULL. |
- Return values:
-
| EFI_SUCCESS | The link key callback function is registered successfully. |
The callback function to get link key.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| Context | Context passed from registration. |
| BDAddr | A pointer to Bluetooth device address. |
| LinkKey | A pointer to the buffer of link key. |
- Return values:
-
| EFI_SUCCESS | The callback function complete successfully. |
Register PIN callback function.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| Callback | The callback function. NULL means unregister. |
| Context | Data passed into Callback function. This is optional parameter and may be NULL. |
- Return values:
-
| EFI_SUCCESS | The PIN callback function is registered successfully. |
The callback function for PIN code.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| Context | Context passed from registration. |
| CallbackType | Callback type in EFI_BLUETOOTH_PIN_CALLBACK_TYPE. |
| InputBuffer | A pointer to the buffer of data that is input from callback caller. |
| InputBufferSize | Indicates the size, in bytes, of the data buffer specified by InputBuffer. |
| OutputBuffer | A pointer to the buffer of data that will be output from callback callee. Callee allocates this buffer by using EFI Boot Service AllocatePool(). |
| OutputBufferSize | Indicates the size, in bytes, of the data buffer specified by OutputBuffer. |
- Return values:
-
| EFI_SUCCESS | The callback function complete successfully. |
Register set link key callback function.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| Callback | The callback function. NULL means unregister. |
| Context | Data passed into Callback function. This is optional parameter and may be NULL. |
- Return values:
-
| EFI_SUCCESS | The link key callback function is registered successfully. |
The callback function to set link key.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| Context | Context passed from registration. |
| BDAddr | A pointer to Bluetooth device address. |
| LinkKey | A pointer to the buffer of link key. |
- Return values:
-
| EFI_SUCCESS | The callback function complete successfully. |
Scan Bluetooth device.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| ReScan | If TRUE, a new scan request is submitted no matter there is scan result before. If FALSE and there is scan result, the previous scan result is returned and no scan request is submitted. |
| ScanType | Bluetooth scan type, Inquiry and/or Page. See Bluetooth specification for detail. |
| Callback | The callback function. This function is called if a Bluetooth device is found during scan process. |
| Context | Data passed into Callback function. This is optional parameter and may be NULL. |
- Return values:
-
| EFI_SUCCESS | The Bluetooth scan request is submitted. |
| EFI_DEVICE_ERROR | A hardware error occurred trying to scan the Bluetooth device. |
Set Bluetooth configuration data.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| DataType | Configuration data type. |
| DataSize | Indicates the size, in bytes, of the data buffer specified by Data. |
| Data | A pointer to the buffer of data that will be set. |
- Return values:
-
| EFI_SUCCESS | The Bluetooth configuration data is set successfully. |
| EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE:
- DataSize is 0.
- Data is NULL.
|
| EFI_UNSUPPORTED | The DataType is unsupported. |
| EFI_BUFFER_TOO_SMALL | Cannot set configuration data. |
Enumeration Type Documentation
EFI_BLUETOOTH_CONFIG_DATA_TYPE
- Enumerator:
-
EfiBluetoothConfigDataTypeDeviceName |
Local/Remote Bluetooth device name. Data structure is zero terminated CHAR8[]. |
EfiBluetoothConfigDataTypeClassOfDevice |
Local/Remote Bluetooth device ClassOfDevice. Data structure is BLUETOOTH_CLASS_OF_DEVICE. |
EfiBluetoothConfigDataTypeRemoteDeviceState |
Remote Bluetooth device state. Data structure is EFI_BLUETOOTH_CONFIG_REMOTE_DEVICE_STATE_TYPE. |
EfiBluetoothConfigDataTypeSdpInfo |
Local/Remote Bluetooth device SDP information. Data structure is UINT8[]. |
EfiBluetoothConfigDataTypeBDADDR |
Local Bluetooth device address. Data structure is BLUETOOTH_ADDRESS. |
EfiBluetoothConfigDataTypeDiscoverable |
Local Bluetooth discoverable state. Data structure is UINT8. (Page scan and/or Inquiry scan) |
EfiBluetoothConfigDataTypeControllerStoredPairedDeviceList |
Local Bluetooth controller stored paired device list. Data structure is BLUETOOTH_ADDRESS[]. |
EfiBluetoothConfigDataTypeAvailableDeviceList |
Local available device list. Data structure is BLUETOOTH_ADDRESS[]. |
EfiBluetoothConfigDataTypeMax |
|
EFI_BLUETOOTH_CONNECT_COMPLETE_CALLBACK_TYPE.
- Enumerator:
-
EfiBluetoothConnCallbackTypeDisconnected |
This callback is called when Bluetooth receive Disconnection_Complete event. Input buffer is Event Parameters of Disconnection_Complete Event defined in Bluetooth specification. |
EfiBluetoothConnCallbackTypeConnected |
This callback is called when Bluetooth receive Connection_Complete event. Input buffer is Event Parameters of Connection_Complete Event defined in Bluetooth specification. |
EfiBluetoothConnCallbackTypeAuthenticated |
This callback is called when Bluetooth receive Authentication_Complete event. Input buffer is Event Parameters of Authentication_Complete Event defined in Bluetooth specification. |
EfiBluetoothConnCallbackTypeEncrypted |
This callback is called when Bluetooth receive Encryption_Change event. Input buffer is Event Parameters of Encryption_Change Event defined in Bluetooth specification. |
EFI_BLUETOOTH_PIN_CALLBACK_TYPE.
- Enumerator:
-
EfiBluetoothCallbackTypeUserPasskeyNotification |
For SSP - passkey entry. Input buffer is Passkey (4 bytes). No output buffer. See Bluetooth HCI command for detail. |
EfiBluetoothCallbackTypeUserConfirmationRequest |
For SSP - just work and numeric comparison. Input buffer is numeric value (4 bytes). Output buffer is BOOLEAN (1 byte). See Bluetooth HCI command for detail. |
EfiBluetoothCallbackTypeOOBDataRequest |
For SSP - OOB. See Bluetooth HCI command for detail. |
EfiBluetoothCallbackTypePinCodeRequest |
For legacy paring. No input buffer. Output buffer is PIN code( <= 16 bytes). See Bluetooth HCI command for detail. |
EfiBluetoothCallbackTypeMax |
|
Function Documentation
typedef EFI_STATUS |
( |
EFIAPI * |
EFI_BLUETOOTH_CONFIG_SCAN_CALLBACK_FUNCTION |
) |
|
Callback function, it is called if a Bluetooth device is found during scan process.
- Parameters:
-
| This | Pointer to the EFI_BLUETOOTH_CONFIG_PROTOCOL instance. |
| Context | Context passed from scan request. |
| CallbackInfo | Data related to scan result. NULL CallbackInfo means scan complete. |
- Return values:
-
| EFI_SUCCESS | The callback function complete successfully. |
Variable Documentation