TianoCore EDK2 master
|
#include <IndustryStandard/Bluetooth.h>
Go to the source code of this file.
Data Structures | |
struct | EFI_BLUETOOTH_DEVICE_INFO |
struct | _EFI_BLUETOOTH_IO_PROTOCOL |
Macros | |
#define | EFI_BLUETOOTH_IO_SERVICE_BINDING_PROTOCOL_GUID |
#define | EFI_BLUETOOTH_IO_PROTOCOL_GUID |
Variables | |
EFI_GUID | gEfiBluetoothIoServiceBindingProtocolGuid |
EFI_GUID | gEfiBluetoothIoProtocolGuid |
EFI Bluetooth IO Service Binding Protocol as defined in UEFI 2.5. EFI Bluetooth IO Protocol as defined in UEFI 2.5. The EFI Bluetooth IO Service Binding Protocol is used to locate EFI Bluetooth IO Protocol drivers to create and destroy child of the driver to communicate with other Bluetooth device by using Bluetooth IO protocol.
Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file BluetoothIo.h.
#define EFI_BLUETOOTH_IO_PROTOCOL_GUID |
Definition at line 25 of file BluetoothIo.h.
#define EFI_BLUETOOTH_IO_SERVICE_BINDING_PROTOCOL_GUID |
Definition at line 20 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_ASYNC_FUNC_CALLBACK) (IN UINT16 ChannelID, IN VOID *Data, IN UINTN DataLength, IN VOID *Context) |
Callback function, it is called when asynchronous transfer is completed.
[in] | ChannelID | Bluetooth L2CAP message channel ID. |
[in] | Data | Data received via asynchronous transfer. |
[in] | DataLength | The length of Data in bytes, received via asynchronous transfer. |
[in] | Context | Context passed from asynchronous transfer request. |
EFI_SUCCESS | The callback function complete successfully. |
Definition at line 174 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_CHANNEL_SERVICE_CALLBACK) (IN VOID *Data, IN UINTN DataLength, IN VOID *Context) |
Callback function, it is called when asynchronous transfer is completed.
[in] | Data | Data received via asynchronous transfer. |
[in] | DataLength | The length of Data in bytes, received via asynchronous transfer. |
[in] | Context | Context passed from asynchronous transfer request. |
EFI_SUCCESS | The callback function complete successfully. |
Definition at line 284 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_GET_DEVICE_INFO) (IN EFI_BLUETOOTH_IO_PROTOCOL *This, OUT UINTN *DeviceInfoSize, OUT VOID **DeviceInfo) |
Get Bluetooth device information.
[in] | This | Pointer to the EFI_BLUETOOTH_IO_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. |
EFI_SUCCESS | The Bluetooth device information is returned successfully. |
EFI_DEVICE_ERROR | A hardware error occurred trying to retrieve the Bluetooth device information. |
Definition at line 78 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_GET_SDP_INFO) (IN EFI_BLUETOOTH_IO_PROTOCOL *This, OUT UINTN *SdpInfoSize, OUT VOID **SdpInfo) |
Get Bluetooth SDP information.
[in] | This | Pointer to the EFI_BLUETOOTH_IO_PROTOCOL instance. |
[out] | SdpInfoSize | A pointer to the size, in bytes, of the SdpInfo buffer. |
[out] | SdpInfo | A pointer to a callee allocated buffer that returns Bluetooth SDP information. |
EFI_SUCCESS | The Bluetooth device information is returned successfully. |
EFI_DEVICE_ERROR | A hardware error occurred trying to retrieve the Bluetooth SDP information. |
Definition at line 97 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_L2CAP_ASYNC_RECEIVE) (IN EFI_BLUETOOTH_IO_PROTOCOL *This, IN EFI_HANDLE Handle, IN EFI_BLUETOOTH_IO_CHANNEL_SERVICE_CALLBACK Callback, IN VOID *Context) |
Receive L2CAP message (excluding L2CAP header) in non-blocking way from a specific channel.
[in] | This | Pointer to the EFI_BLUETOOTH_IO_PROTOCOL instance. |
[in] | Handel | A handle created by EFI_BLUETOOTH_IO_PROTOCOL.L2CapConnect indicates which channel to receive. |
[in] | Callback | The callback function. This function is called if the asynchronous transfer is completed. |
[in] | Context | Data passed into Callback function. This is optional parameter and may be NULL. |
EFI_SUCCESS | The L2CAP asynchronous receive request is submitted successfully. |
EFI_NOT_FOUND | Handle is invalid or not found. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE:
|
Definition at line 309 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_L2CAP_CONNECT) (IN EFI_BLUETOOTH_IO_PROTOCOL *This, OUT EFI_HANDLE *Handle, IN UINT16 Psm, IN UINT16 Mtu, IN EFI_BLUETOOTH_IO_CHANNEL_SERVICE_CALLBACK Callback, IN VOID *Context) |
Do L2CAP connection.
[in] | This | Pointer to the EFI_BLUETOOTH_IO_PROTOCOL instance. |
[out] | Handel | A handle to indicate this L2CAP connection. |
[in] | Psm | Bluetooth PSM. See Bluetooth specification for detail. |
[in] | Mtu | Bluetooth MTU. See Bluetooth specification for detail. |
[in] | Callback | The callback function. This function is called whenever there is message received in this channel. |
[in] | Context | Data passed into Callback function. This is optional parameter and may be NULL. |
EFI_SUCCESS | The Bluetooth L2CAP layer connection is created successfully. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE:
|
EFI_DEVICE_ERROR | A hardware error occurred trying to do Bluetooth L2CAP connection. |
Definition at line 335 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_L2CAP_DISCONNECT) (IN EFI_BLUETOOTH_IO_PROTOCOL *This, IN EFI_HANDLE Handle) |
Do L2CAP disconnection.
[in] | This | Pointer to the EFI_BLUETOOTH_IO_PROTOCOL instance. |
[in] | Handel | A handle to indicate this L2CAP connection. |
EFI_SUCCESS | The Bluetooth L2CAP layer is disconnected successfully. |
EFI_NOT_FOUND | Handle is invalid or not found. |
EFI_DEVICE_ERROR | A hardware error occurred trying to do Bluetooth L2CAP disconnection. |
Definition at line 357 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_L2CAP_RAW_ASYNC_RECEIVE) (IN EFI_BLUETOOTH_IO_PROTOCOL *This, IN BOOLEAN IsNewTransfer, IN UINTN PollingInterval, IN UINTN DataLength, IN EFI_BLUETOOTH_IO_ASYNC_FUNC_CALLBACK Callback, IN VOID *Context) |
Receive L2CAP message (including L2CAP header) in non-blocking way.
[in] | This | Pointer to the EFI_BLUETOOTH_IO_PROTOCOL instance. |
[in] | IsNewTransfer | If TRUE, a new transfer will be submitted. If FALSE, the request is deleted. |
[in] | PollingInterval | Indicates the periodic rate, in milliseconds, that the transfer is to be executed. |
[in] | DataLength | Specifies the length, in bytes, of the data to be received. |
[in] | Callback | The callback function. This function is called if the asynchronous transfer is completed. |
[in] | Context | Data passed into Callback function. This is optional parameter and may be NULL. |
EFI_SUCCESS | The L2CAP asynchronous receive request is submitted successfully. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE:
|
Definition at line 200 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_L2CAP_RAW_RECEIVE) (IN EFI_BLUETOOTH_IO_PROTOCOL *This, IN OUT UINTN *BufferSize, OUT VOID *Buffer, IN UINTN Timeout) |
Receive L2CAP message (including L2CAP header).
[in] | This | Pointer to the EFI_BLUETOOTH_IO_PROTOCOL instance. |
[in] | BufferSize | On input, indicates the size, in bytes, of the data buffer specified by Buffer. On output, indicates the amount of data actually transferred. |
[out] | Buffer | A pointer to the buffer of data that will be received from Bluetooth L2CAP layer. |
[in] | 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. |
EFI_SUCCESS | The L2CAP message is received successfully. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE:
|
EFI_TIMEOUT | Receiving L2CAP message fail due to timeout. |
EFI_DEVICE_ERROR | Receiving L2CAP message fail due to host controller or device error. |
Definition at line 154 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_L2CAP_RAW_SEND) (IN EFI_BLUETOOTH_IO_PROTOCOL *This, IN OUT UINTN *BufferSize, IN VOID *Buffer, IN UINTN Timeout) |
Send L2CAP message (including L2CAP header).
[in] | This | Pointer to the EFI_BLUETOOTH_IO_PROTOCOL instance. |
[in,out] | BufferSize | On input, indicates the size, in bytes, of the data buffer specified by Buffer. On output, indicates the amount of data actually transferred. |
[in] | Buffer | A pointer to the buffer of data that will be transmitted to Bluetooth L2CAP layer. |
[in] | 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. |
EFI_SUCCESS | The L2CAP message is sent successfully. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE:
|
EFI_TIMEOUT | Sending L2CAP message fail due to timeout. |
EFI_DEVICE_ERROR | Sending L2CAP message fail due to host controller or device error. |
Definition at line 125 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_L2CAP_RECEIVE) (IN EFI_BLUETOOTH_IO_PROTOCOL *This, IN EFI_HANDLE Handle, OUT UINTN *BufferSize, OUT VOID **Buffer, IN UINTN Timeout) |
Receive L2CAP message (excluding L2CAP header) from a specific channel.
[in] | This | Pointer to the EFI_BLUETOOTH_IO_PROTOCOL instance. |
[in] | Handle | A handle created by EFI_BLUETOOTH_IO_PROTOCOL.L2CapConnect indicates which channel to receive. |
[out] | BufferSize | Indicates the size, in bytes, of the data buffer specified by Buffer. |
[out] | Buffer | A pointer to the buffer of data that will be received from Bluetooth L2CAP layer. |
[in] | 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. |
EFI_SUCCESS | The L2CAP message is received successfully. |
EFI_NOT_FOUND | Handle is invalid or not found. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE:
|
EFI_TIMEOUT | Receiving L2CAP message fail due to timeout. |
EFI_DEVICE_ERROR | Receiving L2CAP message fail due to host controller or device error. |
Definition at line 264 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_L2CAP_REGISTER_SERVICE) (IN EFI_BLUETOOTH_IO_PROTOCOL *This, OUT EFI_HANDLE *Handle, IN UINT16 Psm, IN UINT16 Mtu, IN EFI_BLUETOOTH_IO_CHANNEL_SERVICE_CALLBACK Callback, IN VOID *Context) |
Register L2CAP callback function for special channel.
[in] | This | Pointer to the EFI_BLUETOOTH_IO_PROTOCOL instance. |
[out] | Handel | A handle to indicate this L2CAP connection. |
[in] | Psm | Bluetooth PSM. See Bluetooth specification for detail. |
[in] | Mtu | Bluetooth MTU. See Bluetooth specification for detail. |
[in] | Callback | The callback function. This function is called whenever there is message received in this channel. NULL means unregister. |
[in] | Context | Data passed into Callback function. This is optional parameter and may be NULL. |
EFI_SUCCESS | The Bluetooth L2CAP callback function is registered successfully. |
EFI_ALREADY_STARTED | The callback function already exists when register. |
EFI_NOT_FOUND | The callback function does not exist when unregister. |
Definition at line 380 of file BluetoothIo.h.
typedef EFI_STATUS(EFIAPI * EFI_BLUETOOTH_IO_L2CAP_SEND) (IN EFI_BLUETOOTH_IO_PROTOCOL *This, IN EFI_HANDLE Handle, IN OUT UINTN *BufferSize, IN VOID *Buffer, IN UINTN Timeout) |
Send L2CAP message (excluding L2CAP header) to a specific channel.
[in] | This | Pointer to the EFI_BLUETOOTH_IO_PROTOCOL instance. |
[in] | Handle | A handle created by EFI_BLUETOOTH_IO_PROTOCOL.L2CapConnect indicates which channel to send. |
[in,out] | BufferSize | On input, indicates the size, in bytes, of the data buffer specified by Buffer. On output, indicates the amount of data actually transferred. |
[in] | Buffer | A pointer to the buffer of data that will be transmitted to Bluetooth L2CAP layer. |
[in] | 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. |
EFI_SUCCESS | The L2CAP message is sent successfully. |
EFI_NOT_FOUND | Handle is invalid or not found. |
EFI_INVALID_PARAMETER | One or more of the following conditions is TRUE:
|
EFI_TIMEOUT | Sending L2CAP message fail due to timeout. |
EFI_DEVICE_ERROR | Sending L2CAP message fail due to host controller or device error. |
Definition at line 233 of file BluetoothIo.h.
typedef struct _EFI_BLUETOOTH_IO_PROTOCOL EFI_BLUETOOTH_IO_PROTOCOL |
Definition at line 30 of file BluetoothIo.h.