MdePkg/Include/Protocol/BluetoothHc.h File Reference


Data Structures

struct  _EFI_BLUETOOTH_HC_PROTOCOL

Defines

#define EFI_BLUETOOTH_HC_PROTOCOL_GUID

Typedefs

typedef struct
_EFI_BLUETOOTH_HC_PROTOCOL 
EFI_BLUETOOTH_HC_PROTOCOL
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_SEND_COMMAND )(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN OUT UINTN *BufferSize, IN VOID *Buffer, IN UINTN Timeout)
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_RECEIVE_EVENT )(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer, IN UINTN Timeout)
typedef IN UINTN DataLength
typedef IN UINTN IN VOID * Context
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_ASYNC_RECEIVE_EVENT )(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN BOOLEAN IsNewTransfer, IN UINTN PollingInterval, IN UINTN DataLength, IN EFI_BLUETOOTH_HC_ASYNC_FUNC_CALLBACK Callback, IN VOID *Context)
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_SEND_ACL_DATA )(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN OUT UINTN *BufferSize, IN VOID *Buffer, IN UINTN Timeout)
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_RECEIVE_ACL_DATA )(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer, IN UINTN Timeout)
typedef IN BOOLEAN IsNewTransfer
typedef IN BOOLEAN IN UINTN PollingInterval
typedef IN BOOLEAN IN UINTN IN
UINTN IN
EFI_BLUETOOTH_HC_ASYNC_FUNC_CALLBACK 
Callback
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_SEND_SCO_DATA )(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN OUT UINTN *BufferSize, IN VOID *Buffer, IN UINTN Timeout)
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_RECEIVE_SCO_DATA )(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer, IN UINTN Timeout)

Functions

typedef EFI_STATUS (EFIAPI *EFI_BLUETOOTH_HC_ASYNC_FUNC_CALLBACK)(IN VOID *Data

Variables

EFI_GUID gEfiBluetoothHcProtocolGuid

Detailed Description

EFI Bluetooth Host Controller Protocol as defined in UEFI 2.5. This protocol abstracts the Bluetooth host controller layer message transmit and receive.

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_HC_PROTOCOL_GUID

Value:

{ \
    0xb3930571, 0xbeba, 0x4fc5, { 0x92, 0x3, 0x94, 0x27, 0x24, 0x2e, 0x6a, 0x43 } \
  }


Typedef Documentation

typedef IN BOOLEAN IN UINTN IN UINTN IN EFI_BLUETOOTH_HC_ASYNC_FUNC_CALLBACK Callback

typedef IN BOOLEAN IN UINTN IN UINTN IN EFI_BLUETOOTH_HC_ASYNC_FUNC_CALLBACK IN VOID* Context

typedef IN UINTN DataLength

typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_ASYNC_RECEIVE_EVENT)(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN BOOLEAN IsNewTransfer, IN UINTN PollingInterval, IN UINTN DataLength, IN EFI_BLUETOOTH_HC_ASYNC_FUNC_CALLBACK Callback, IN VOID *Context)

Receive HCI event packet in non-blocking way.

Parameters:
This Pointer to the EFI_BLUETOOTH_HC_PROTOCOL instance.
IsNewTransfer If TRUE, a new transfer will be submitted. If FALSE, the request is deleted.
PollingInterval Indicates the periodic rate, in milliseconds, that the transfer is to be executed.
DataLength Specifies the length, in bytes, of the data to be received.
Callback The callback function. This function is called if the asynchronous transfer is completed.
Context Data passed into Callback function. This is optional parameter and may be NULL.
Return values:
EFI_SUCCESS The HCI asynchronous receive request is submitted successfully.
EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
  • DataLength is 0.
  • If IsNewTransfer is TRUE, and an asynchronous receive request already exists.

typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_RECEIVE_ACL_DATA)(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer, IN UINTN Timeout)

Receive HCI ACL data packet.

Parameters:
This Pointer to the EFI_BLUETOOTH_HC_PROTOCOL instance.
BufferSize On input, indicates the size, in bytes, of the data buffer specified by Buffer. On output, indicates the amount of data actually transferred.
Buffer A pointer to the buffer of data that will be received from Bluetooth host controller.
Timeout Indicating the transfer should be completed within this time frame. The units are in milliseconds. If Timeout is 0, then the caller must wait for the function to be completed until EFI_SUCCESS or EFI_DEVICE_ERROR is returned.
Return values:
EFI_SUCCESS The HCI ACL data packet is received successfully.
EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
  • BufferSize is NULL.
  • *BufferSize is 0.
  • Buffer is NULL.
EFI_TIMEOUT Receiving HCI ACL data packet fail due to timeout.
EFI_DEVICE_ERROR Receiving HCI ACL data packet fail due to host controller or device error.

typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_RECEIVE_EVENT)(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer, IN UINTN Timeout)

Receive HCI event packet.

Parameters:
This Pointer to the EFI_BLUETOOTH_HC_PROTOCOL instance.
BufferSize On input, indicates the size, in bytes, of the data buffer specified by Buffer. On output, indicates the amount of data actually transferred.
Buffer A pointer to the buffer of data that will be received from Bluetooth host controller.
Timeout Indicating the transfer should be completed within this time frame. The units are in milliseconds. If Timeout is 0, then the caller must wait for the function to be completed until EFI_SUCCESS or EFI_DEVICE_ERROR is returned.
Return values:
EFI_SUCCESS The HCI event packet is received successfully.
EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
  • BufferSize is NULL.
  • *BufferSize is 0.
  • Buffer is NULL.
EFI_TIMEOUT Receiving HCI event packet fail due to timeout.
EFI_DEVICE_ERROR Receiving HCI event packet fail due to host controller or device error.

typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_RECEIVE_SCO_DATA)(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer, IN UINTN Timeout)

Receive HCI SCO data packet.

Parameters:
This Pointer to the EFI_BLUETOOTH_HC_PROTOCOL instance.
BufferSize On input, indicates the size, in bytes, of the data buffer specified by Buffer. On output, indicates the amount of data actually transferred.
Buffer A pointer to the buffer of data that will be received from Bluetooth host controller.
Timeout Indicating the transfer should be completed within this time frame. The units are in milliseconds. If Timeout is 0, then the caller must wait for the function to be completed until EFI_SUCCESS or EFI_DEVICE_ERROR is returned.
Return values:
EFI_SUCCESS The HCI SCO data packet is received successfully.
EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
  • BufferSize is NULL.
  • *BufferSize is 0.
  • Buffer is NULL.
EFI_TIMEOUT Receiving HCI SCO data packet fail due to timeout
EFI_DEVICE_ERROR Receiving HCI SCO data packet fail due to host controller or device error.

typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_SEND_ACL_DATA)(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN OUT UINTN *BufferSize, IN VOID *Buffer, IN UINTN Timeout)

Send HCI ACL data packet.

Parameters:
This Pointer to the EFI_BLUETOOTH_HC_PROTOCOL instance.
BufferSize On input, indicates the size, in bytes, of the data buffer specified by Buffer. On output, indicates the amount of data actually transferred.
Buffer A pointer to the buffer of data that will be transmitted to Bluetooth host controller.
Timeout Indicating the transfer should be completed within this time frame. The units are in milliseconds. If Timeout is 0, then the caller must wait for the function to be completed until EFI_SUCCESS or EFI_DEVICE_ERROR is returned.
Return values:
EFI_SUCCESS The HCI ACL data packet is sent successfully.
EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
  • BufferSize is NULL.
  • *BufferSize is 0.
  • Buffer is NULL.
EFI_TIMEOUT Sending HCI ACL data packet fail due to timeout.
EFI_DEVICE_ERROR Sending HCI ACL data packet fail due to host controller or device error.

typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_SEND_COMMAND)(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN OUT UINTN *BufferSize, IN VOID *Buffer, IN UINTN Timeout)

Send HCI command packet.

Parameters:
This Pointer to the EFI_BLUETOOTH_HC_PROTOCOL instance.
BufferSize On input, indicates the size, in bytes, of the data buffer specified by Buffer. On output, indicates the amount of data actually transferred.
Buffer A pointer to the buffer of data that will be transmitted to Bluetooth host controller.
Timeout Indicating the transfer should be completed within this time frame. The units are in milliseconds. If Timeout is 0, then the caller must wait for the function to be completed until EFI_SUCCESS or EFI_DEVICE_ERROR is returned.
Return values:
EFI_SUCCESS The HCI command packet is sent successfully.
EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
  • BufferSize is NULL.
  • *BufferSize is 0.
  • Buffer is NULL.
EFI_TIMEOUT Sending HCI command packet fail due to timeout.
EFI_DEVICE_ERROR Sending HCI command packet fail due to host controller or device error.

typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_HC_SEND_SCO_DATA)(IN EFI_BLUETOOTH_HC_PROTOCOL *This, IN OUT UINTN *BufferSize, IN VOID *Buffer, IN UINTN Timeout)

Send HCI SCO data packet.

Parameters:
This Pointer to the EFI_BLUETOOTH_HC_PROTOCOL instance.
BufferSize On input, indicates the size, in bytes, of the data buffer specified by Buffer. On output, indicates the amount of data actually transferred.
Buffer A pointer to the buffer of data that will be transmitted to Bluetooth host controller.
Timeout Indicating the transfer should be completed within this time frame. The units are in milliseconds. If Timeout is 0, then the caller must wait for the function to be completed until EFI_SUCCESS or EFI_DEVICE_ERROR is returned.
Return values:
EFI_SUCCESS The HCI SCO data packet is sent successfully.
EFI_UNSUPPORTED The implementation does not support HCI SCO transfer.
EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
  • BufferSize is NULL.
  • *BufferSize is 0.
  • Buffer is NULL.
EFI_TIMEOUT Sending HCI SCO data packet fail due to timeout.
EFI_DEVICE_ERROR Sending HCI SCO data packet fail due to host controller or device error.

typedef IN BOOLEAN IsNewTransfer

typedef IN BOOLEAN IN UINTN PollingInterval


Function Documentation

typedef EFI_STATUS ( EFIAPI *  EFI_BLUETOOTH_HC_ASYNC_RECEIVE_SCO_DATA  ) 

Callback function, it is called when asynchronous transfer is completed.

Parameters:
Data Pointer to the EFI_BLUETOOTH_HC_PROTOCOL instance.
DataLength Specifies the length, in bytes, of the data to be received.
Context Data passed into Callback function. This is optional parameter and may be NULL.
Return values:
EFI_SUCCESS The callback function complete successfully.
Receive HCI ACL data packet in non-blocking way.

Parameters:
This Pointer to the EFI_BLUETOOTH_HC_PROTOCOL instance.
IsNewTransfer If TRUE, a new transfer will be submitted. If FALSE, the request is deleted.
PollingInterval Indicates the periodic rate, in milliseconds, that the transfer is to be executed.
DataLength Specifies the length, in bytes, of the data to be received.
Callback The callback function. This function is called if the asynchronous transfer is completed.
Context Data passed into Callback function. This is optional parameter and may be NULL.
Return values:
EFI_SUCCESS The HCI asynchronous receive request is submitted successfully.
EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
  • DataLength is 0.
  • If IsNewTransfer is TRUE, and an asynchronous receive request already exists.
Receive HCI SCO data packet in non-blocking way.

Parameters:
This Pointer to the EFI_BLUETOOTH_HC_PROTOCOL instance.
IsNewTransfer If TRUE, a new transfer will be submitted. If FALSE, the request is deleted.
PollingInterval Indicates the periodic rate, in milliseconds, that the transfer is to be executed.
DataLength Specifies the length, in bytes, of the data to be received.
Callback The callback function. This function is called if the asynchronous transfer is completed.
Context Data passed into Callback function. This is optional parameter and may be NULL.
Return values:
EFI_SUCCESS The HCI asynchronous receive request is submitted successfully.
EFI_INVALID_PARAMETER One or more of the following conditions is TRUE:
  • DataLength is 0.
  • If IsNewTransfer is TRUE, and an asynchronous receive request already exists.


Variable Documentation


Generated on Wed Sep 23 16:24:22 2015 for MdePkg[ALL] by  doxygen 1.5.7.1