MdePkg[all]
1.08
|
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 |
Functions | |
typedef | EFI_STATUS (EFIAPI *EFI_BLUETOOTH_IO_ASYNC_FUNC_CALLBACK)(IN UINT16 ChannelID |
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
#define EFI_BLUETOOTH_IO_PROTOCOL_GUID |
#define EFI_BLUETOOTH_IO_SERVICE_BINDING_PROTOCOL_GUID |
typedef IN UINTN DataLength |
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. |
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. |
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:
|
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. |
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. |
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:
|
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. |
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. |
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. |
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. |
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. |
typedef struct _EFI_BLUETOOTH_IO_PROTOCOL EFI_BLUETOOTH_IO_PROTOCOL |
typedef EFI_STATUS | ( | EFIAPI * | EFI_BLUETOOTH_IO_CHANNEL_SERVICE_CALLBACK | ) |
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. |
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. |
EFI_GUID gEfiBluetoothIoProtocolGuid |
EFI_GUID gEfiBluetoothIoServiceBindingProtocolGuid |