TianoCore EDK2 master
Loading...
Searching...
No Matches
BluetoothLeConfig.h
Go to the documentation of this file.
1
13#ifndef __EFI_BLUETOOTH_LE_CONFIG_H__
14#define __EFI_BLUETOOTH_LE_CONFIG_H__
15
18
19#define EFI_BLUETOOTH_LE_CONFIG_PROTOCOL_GUID \
20 { \
21 0x8f76da58, 0x1f99, 0x4275, { 0xa4, 0xec, 0x47, 0x56, 0x51, 0x5b, 0x1c, 0xe8 } \
22 }
23
25
38typedef
42 );
43
44typedef struct {
50 UINT32 Version;
54 UINT8 ScanType;
62 UINT16 ScanWindow;
74
75typedef struct {
77 BLUETOOTH_LE_ADDRESS DirectAddress;
78 UINT8 RemoteDeviceState;
79 INT8 RSSI;
80 UINTN AdvertisementDataSize;
81 VOID *AdvertisementData;
83
94typedef
98 IN VOID *Context,
100 );
101
125typedef
129 IN BOOLEAN ReScan,
130 IN UINT32 Timeout,
133 IN VOID *Context
134 );
135
136typedef struct {
144 UINT32 Version;
170
194typedef
198 IN BOOLEAN AutoReconnect,
199 IN BOOLEAN DoBonding,
201 IN BLUETOOTH_LE_ADDRESS *BD_ADDR
202 );
203
221typedef
225 IN BLUETOOTH_LE_ADDRESS *BD_ADDR,
226 IN UINT8 Reason
227 );
228
251typedef
256 IN OUT UINTN *DataSize,
257 IN OUT VOID *Data OPTIONAL
258 );
259
279typedef
284 IN UINTN DataSize,
285 IN VOID *Data
286 );
287
310typedef
315 IN BLUETOOTH_LE_ADDRESS *BDAddr,
316 IN OUT UINTN *DataSize,
317 IN OUT VOID *Data
318 );
319
320typedef enum {
355
370typedef
374 IN VOID *Context,
375 IN BLUETOOTH_LE_ADDRESS *BDAddr,
377 IN UINTN DataSize,
378 IN VOID *Data
379 );
380
398typedef
403 IN VOID *Context
404 );
405
424typedef
428 IN BLUETOOTH_LE_ADDRESS *BDAddr,
430 IN UINTN DataSize,
431 IN VOID *Data
432 );
433
434typedef enum {
435 // For local device only
436 EfiBluetoothSmpLocalIR, /* If Key hierarchy is supported */
437 EfiBluetoothSmpLocalER, /* If Key hierarchy is supported */
438 EfiBluetoothSmpLocalDHK, /* If Key hierarchy is supported. OPTIONAL */
439 // For peer specific
440 EfiBluetoothSmpKeysDistributed = 0x1000,
441 EfiBluetoothSmpKeySize,
442 EfiBluetoothSmpKeyType,
443 EfiBluetoothSmpPeerLTK,
444 EfiBluetoothSmpPeerIRK,
445 EfiBluetoothSmpPeerCSRK,
446 EfiBluetoothSmpPeerRand,
447 EfiBluetoothSmpPeerEDIV,
448 EfiBluetoothSmpPeerSignCounter,
449 EfiBluetoothSmpLocalLTK, /* If Key hierarchy not supported */
450 EfiBluetoothSmpLocalIRK, /* If Key hierarchy not supported */
451 EfiBluetoothSmpLocalCSRK, /* If Key hierarchy not supported */
452 EfiBluetoothSmpLocalSignCounter,
453 EfiBluetoothSmpLocalDIV,
454 EfiBluetoothSmpPeerAddressList,
455 EfiBluetoothSmpMax,
456} EFI_BLUETOOTH_LE_SMP_DATA_TYPE;
457
474typedef
478 IN VOID *Context,
479 IN BLUETOOTH_LE_ADDRESS *BDAddr,
480 IN EFI_BLUETOOTH_LE_SMP_DATA_TYPE DataType,
481 IN OUT UINTN *DataSize,
482 OUT VOID *Data
483 );
484
500typedef
505 IN VOID *Context
506 );
507
522typedef
526 IN VOID *Context,
527 IN BLUETOOTH_LE_ADDRESS *BDAddr,
528 IN EFI_BLUETOOTH_LE_SMP_DATA_TYPE Type,
529 IN UINTN DataSize,
530 IN VOID *Data
531 );
532
548typedef
553 IN VOID *Context
554 );
555
570typedef
574 IN VOID *Context,
576 IN BLUETOOTH_LE_ADDRESS *BDAddr,
577 IN VOID *InputBuffer,
578 IN UINTN InputBufferSize
579 );
580
601typedef
606 IN VOID *Context
607 );
608
620 EFI_BLUETOOTH_LE_REGISTER_SMP_AUTH_CALLBACK RegisterSmpAuthCallback;
624 EFI_BLUETOOTH_LE_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK RegisterLinkConnectCompleteCallback;
625};
626
627extern EFI_GUID gEfiBluetoothLeConfigProtocolGuid;
628
629#endif
UINT64 UINTN
EFI_BLUETOOTH_CONFIG_DATA_TYPE
EFI_BLUETOOTH_CONNECT_COMPLETE_CALLBACK_TYPE
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_SMP_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN VOID *Context, IN BLUETOOTH_LE_ADDRESS *BDAddr, IN EFI_BLUETOOTH_LE_SMP_EVENT_DATA_TYPE EventDataType, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_SEND_SMP_AUTH_DATA)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN BLUETOOTH_LE_ADDRESS *BDAddr, IN EFI_BLUETOOTH_LE_SMP_EVENT_DATA_TYPE EventDataType, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_SMP_SET_DATA_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN VOID *Context, IN BLUETOOTH_LE_ADDRESS *BDAddr, IN EFI_BLUETOOTH_LE_SMP_DATA_TYPE Type, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_DISCONNECT)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN BLUETOOTH_LE_ADDRESS *BD_ADDR, IN UINT8 Reason)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_SCAN_CALLBACK_FUNCTION)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN VOID *Context, IN EFI_BLUETOOTH_LE_SCAN_CALLBACK_INFORMATION *CallbackInfo)
EFI_BLUETOOTH_LE_SMP_EVENT_DATA_TYPE
@ EfiBluetoothSmpNumericComparisonEvent
@ EfiBluetoothSmpAuthorizationRequestEvent
@ EfiBluetoothSmpOOBDataRequestEvent
@ EfiBluetoothSmpPasskeyReadyEvent
@ EfiBluetoothSmpPasskeyRequestEvent
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_REGISTER_SMP_SET_DATA_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_LE_CONFIG_SMP_SET_DATA_CALLBACK Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_CONNECT_COMPLETE_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN VOID *Context, IN EFI_BLUETOOTH_CONNECT_COMPLETE_CALLBACK_TYPE CallbackType, IN BLUETOOTH_LE_ADDRESS *BDAddr, IN VOID *InputBuffer, IN UINTN InputBufferSize)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_REGISTER_SMP_GET_DATA_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_LE_CONFIG_SMP_GET_DATA_CALLBACK Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_GET_REMOTE_DATA)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_DATA_TYPE DataType, IN BLUETOOTH_LE_ADDRESS *BDAddr, IN OUT UINTN *DataSize, IN OUT VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_REGISTER_CONNECT_COMPLETE_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_LE_CONFIG_CONNECT_COMPLETE_CALLBACK Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_SET_DATA)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_DATA_TYPE DataType, IN UINTN DataSize, IN VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_INIT)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_REGISTER_SMP_AUTH_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_LE_SMP_CALLBACK Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_CONNECT)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN BOOLEAN AutoReconnect, IN BOOLEAN DoBonding, IN EFI_BLUETOOTH_LE_CONFIG_CONNECT_PARAMETER *ConnectParameter OPTIONAL, IN BLUETOOTH_LE_ADDRESS *BD_ADDR)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_SMP_GET_DATA_CALLBACK)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN VOID *Context, IN BLUETOOTH_LE_ADDRESS *BDAddr, IN EFI_BLUETOOTH_LE_SMP_DATA_TYPE DataType, IN OUT UINTN *DataSize, OUT VOID *Data)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_SCAN)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN BOOLEAN ReScan, IN UINT32 Timeout, IN EFI_BLUETOOTH_LE_CONFIG_SCAN_PARAMETER *ScanParameter OPTIONAL, IN EFI_BLUETOOTH_LE_CONFIG_SCAN_CALLBACK_FUNCTION Callback, IN VOID *Context)
EFI_STATUS(EFIAPI * EFI_BLUETOOTH_LE_CONFIG_GET_DATA)(IN EFI_BLUETOOTH_LE_CONFIG_PROTOCOL *This, IN EFI_BLUETOOTH_CONFIG_DATA_TYPE DataType, IN OUT UINTN *DataSize, IN OUT VOID *Data OPTIONAL)
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
Definition: Base.h:213