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(EFIAPIEFI_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(EFIAPIEFI_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(EFIAPIEFI_BLUETOOTH_CONFIG_CONNECT )(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN BLUETOOTH_ADDRESS *BD_ADDR)
typedef EFI_STATUS(EFIAPIEFI_BLUETOOTH_CONFIG_DISCONNECT )(IN EFI_BLUETOOTH_CONFIG_PROTOCOL *This, IN BLUETOOTH_ADDRESS *BD_ADDR, IN UINT8 Reason)
typedef EFI_STATUS(EFIAPIEFI_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(EFIAPIEFI_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(EFIAPIEFI_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(EFIAPIEFI_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(EFIAPIEFI_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(EFIAPIEFI_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(EFIAPIEFI_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(EFIAPIEFI_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(EFIAPIEFI_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(EFIAPIEFI_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(EFIAPIEFI_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

typedef IN UINTN IN VOID * Context

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.

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)

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.

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])

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.

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)

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.

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])

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.

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)

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


Generated on Thu Sep 24 23:14:19 2015 for MdePkg[ALL] by  doxygen 1.5.7.1