mirror of
https://github.com/reactos/reactos.git
synced 2024-09-10 12:54:51 +00:00
![Amine Khaldi](/assets/img/avatar_default.png)
* Create a branch for some evul shell experiments. svn path=/branches/shell-experiments/; revision=61927
319 lines
8.1 KiB
C
319 lines
8.1 KiB
C
#ifndef _FBT_HCI_EVENT_STRUCTS_H
|
|
#define _FBT_HCI_EVENT_STRUCTS_H
|
|
|
|
// Pack structures to single unsigned char boundries
|
|
#pragma pack(push, 1)
|
|
|
|
typedef struct
|
|
{
|
|
unsigned char EventCode;
|
|
unsigned char ParameterLength;
|
|
|
|
} FBT_HCI_EVENT_HEADER, *PFBT_HCI_EVENT_HEADER;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned char NumResponses;
|
|
|
|
} FBT_HCI_INQUIRY_COMPLETE, *PFBT_HCI_INQUIRY_COMPLETE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char NumResponses;
|
|
unsigned char BD_ADDR[FBT_HCI_VARIABLE_SIZE][FBT_HCI_BDADDR_SIZE];
|
|
unsigned char PageScanRepetitionMode[FBT_HCI_VARIABLE_SIZE];
|
|
unsigned char PageScanPeriodMode[FBT_HCI_VARIABLE_SIZE];
|
|
unsigned char PageScanMode[FBT_HCI_VARIABLE_SIZE];
|
|
unsigned char ClassOfDevice[FBT_HCI_VARIABLE_SIZE][FBT_HCI_DEVICE_CLASS_SIZE];
|
|
unsigned short ClockOffset[FBT_HCI_VARIABLE_SIZE];
|
|
|
|
} FBT_HCI_INQUIRY_RESULT, *PFBT_HCI_INQUIRY_RESULT;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned short ConnectionHandle;
|
|
unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
|
|
unsigned char LinkType;
|
|
unsigned char EncryptionMode;
|
|
|
|
} FBT_HCI_CONNECTION_COMPLETE, *PFBT_HCI_CONNECTION_COMPLETE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
|
|
unsigned long ClassOfDevice[FBT_HCI_DEVICE_CLASS_SIZE];
|
|
unsigned char LinkType;
|
|
|
|
} FBT_HCI_CONNECTION_REQUEST, *PFBT_HCI_CONNECTION_REQUEST;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned short ConnectionHandle;
|
|
unsigned char Reason;
|
|
|
|
} FBT_HCI_DISCONNECTION_COMPLETE, *PFBT_HCI_DISCONNECTION_COMPLETE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned short ConnectionHandle;
|
|
|
|
} FBT_HCI_AUTHENTICATION_COMPLETE, *PFBT_HCI_AUTHENTICATION_COMPLETE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
|
|
unsigned char RemoteName[FBT_HCI_NAME_SIZE];
|
|
|
|
} FBT_HCI_REMOTE_NAME_REQUEST_COMPLETE, *PFBT_HCI_REMOTE_NAME_REQUEST_COMPLETE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned short ConnectionHandle;
|
|
unsigned char EncryptionEnable;
|
|
|
|
} FBT_HCI_ENCRYPTION_CHANGE, *PFBT_HCI_ENCRYPTION_CHANGE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned short ConnectionHandle;
|
|
|
|
} FBT_HCI_CHANGE_CONNECTION_LINK_KEY_COMPLETE, *PFBT_HCI_CHANGE_CONNECTION_LINK_KEY_COMPLETE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned short ConnectionHandle;
|
|
unsigned char KeyFlag;
|
|
|
|
} FBT_HCI_MASTER_LINK_KEY_COMPLETE, *PFBT_HCI_MASTER_LINK_KEY_COMPLETE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned short ConnectionHandle;
|
|
unsigned char LmpFeatures[8];
|
|
|
|
} FBT_HCI_READ_REMOTE_SUPPORTED_FEATURES_COMPLETE, *PFBT_HCI_READ_REMOTE_SUPPORTED_FEATURES_COMPLETE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned short ConnectionHandle;
|
|
unsigned char LmpVersion;
|
|
unsigned short ManufacturerName;
|
|
unsigned short LmpSubversion;
|
|
|
|
} FBT_HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE, *PFBT_HCI_READ_REMOTE_VERSION_INFORMATION_COMPLETE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned short ConnectionHandle;
|
|
unsigned char Flags;
|
|
unsigned char ServiceType;
|
|
unsigned long TokenRate;
|
|
unsigned long PeakBandwidth;
|
|
unsigned long Latency;
|
|
unsigned long DelayVariation;
|
|
|
|
} FBT_HCI_QOS_SETUP_COMPLETE, *PFBT_HCI_QOS_SETUP_COMPLETE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char NumHCICommandPackets;
|
|
unsigned short OpCode;
|
|
unsigned char Parameters[FBT_HCI_VARIABLE_SIZE];
|
|
|
|
} FBT_HCI_COMMAND_COMPLETE, *PFBT_HCI_COMMAND_COMPLETE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned char NumHCICommandPackets;
|
|
unsigned short OpCode;
|
|
|
|
} FBT_HCI_COMMAND_STATUS, *PFBT_HCI_COMMAND_STATUS;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char HardwareCode;
|
|
|
|
} FBT_HCI_HARDWARE_ERROR, *PFBT_HCI_HARDWARE_ERROR;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned short ConnectionHandle;
|
|
|
|
} FBT_HCI_FLUSH_OCCURRED, *PFBT_HCI_FLUSH_OCCURRED;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
|
|
unsigned char NewRole;
|
|
|
|
} FBT_HCI_ROLE_CHANGE, *PFBT_HCI_ROLE_CHANGE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char NumberOfHandles;
|
|
unsigned short ConnectionHandle[FBT_HCI_VARIABLE_SIZE];
|
|
unsigned short NumberOfCompletedPackets[FBT_HCI_VARIABLE_SIZE];
|
|
|
|
} FBT_HCI_NUMBER_OF_COMPLETED_PACKETS, *PFBT_HCI_NUMBER_OF_COMPLETED_PACKETS;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned short ConnectionHandle;
|
|
unsigned char CurrentMode;
|
|
unsigned short Interval;
|
|
|
|
} FBT_HCI_MODE_CHANGE, *PFBT_HCI_MODE_CHANGE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char NumKeys;
|
|
unsigned char BD_ADDR[FBT_HCI_VARIABLE_SIZE][FBT_HCI_BDADDR_SIZE];
|
|
unsigned char LinkKey[FBT_HCI_VARIABLE_SIZE][FBT_HCI_LINK_KEY_SIZE];
|
|
|
|
} FBT_HCI_RETURN_LINK_KEYS, *PFBT_HCI_RETURN_LINK_KEYS;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
|
|
|
|
} FBT_HCI_PIN_CODE_REQUEST, *PFBT_HCI_PIN_CODE_REQUEST;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
|
|
|
|
} FBT_HCI_LINK_KEY_REQUEST, *PFBT_HCI_LINK_KEY_REQUEST;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
|
|
unsigned char LinkKey[FBT_HCI_LINK_KEY_SIZE];
|
|
|
|
} FBT_HCI_LINK_KEY_NOTIFICATION, *PFBT_HCI_LINK_KEY_NOTIFICATION;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char HCICommandPacket[FBT_HCI_CMD_MAX_SIZE];
|
|
|
|
} FBT_HCI_LOOPBACK_COMMAND, *PFBT_HCI_LOOPBACK_COMMAND;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char LinkType;
|
|
|
|
} FBT_HCI_DATA_BUFFER_OVERFLOW, *PFBT_HCI_DATA_BUFFER_OVERFLOW;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned short ConnectionHandle;
|
|
unsigned char LmpMaxSlots;
|
|
|
|
} FBT_HCI_MAX_SLOTS_CHANGE, *PFBT_HCI_MAX_SLOTS_CHANGE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned short ConnectionHandle;
|
|
unsigned short ClockOffset;
|
|
|
|
} FBT_HCI_READ_CLOCK_OFFSET_COMPLETE, *PFBT_HCI_READ_CLOCK_OFFSET_COMPLETE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char Status;
|
|
unsigned short ConnectionHandle;
|
|
unsigned short PacketType;
|
|
|
|
} FBT_HCI_CONNECTION_PACKET_TYPE_CHANGED, *PFBT_HCI_CONNECTION_PACKET_TYPE_CHANGED;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned short ConnectionHandle;
|
|
|
|
} FBT_HCI_QOS_VIOLATION, *PFBT_HCI_QOS_VIOLATION;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
|
|
unsigned char PageScanMode;
|
|
|
|
} FBT_HCI_PAGE_SCAN_MODE_CHANGE, *PFBT_HCI_PAGE_SCAN_MODE_CHANGE;
|
|
|
|
typedef struct
|
|
{
|
|
FBT_HCI_EVENT_HEADER EventHeader;
|
|
unsigned char BD_ADDR[FBT_HCI_BDADDR_SIZE];
|
|
unsigned char PageScanRepetitionMode;
|
|
|
|
} FBT_HCI_PAGE_SCAN_REPETITION_MODE_CHANGE, *PFBT_HCI_PAGE_SCAN_REPETITION_MODE_CHANGE;
|
|
|
|
typedef struct
|
|
{
|
|
unsigned char Status;
|
|
unsigned char HCIVersion;
|
|
unsigned short HCIRevision;
|
|
unsigned char LMPVersion;
|
|
unsigned short Manufacturer;
|
|
unsigned short LMPSubVersion;
|
|
|
|
} FBT_HCI_READ_LOCAL_VERSION_INFORMATION_COMPLETE;
|
|
|
|
// Data Packet Structure
|
|
typedef struct
|
|
{
|
|
unsigned short ConnectionHandle: 12;
|
|
unsigned short PacketBoundary: 2;
|
|
unsigned short Broadcast: 2;
|
|
unsigned short DataLength;
|
|
unsigned char Data[1];
|
|
|
|
} FBT_HCI_DATA_PACKET, *PFBT_HCI_DATA_PACKET;
|
|
|
|
#pragma pack(pop)
|
|
|
|
#endif // _FBT_HCI_EVENT_STRUCTS_H
|