HCI_PARAMETERS (Compact 2013)
3/26/2014
This structure is used to define Host Controller Interface (HCI) transport interfaces.
Syntax
typedef struct __hci_parameters {
unsigned int uiSize;
unsigned int fInterfaceVersion;
int iMaxSizeRead;
int iMaxSizeWrite;
int iReadBufferHeader;
int iReadBufferTrailer;
int iWriteBufferHeader;
int iWriteBufferTrailer;
int uiFlags;
int fHardwareVersion;
unsigned int uiResetDelay;
unsigned int uiWriteTimeout;
unsigned int uiDriftFactor;
int iScoWriteLowNumPackets;
int iScoWriteNumPackets;
int iScoWritePacketSize;
int iScoSampleSize;
} HCI_PARAMETERS;
Members
- uiSize
Structure size. Must besizeof(HCI_PARAMETERS)
.
- fInterfaceVersion
Interface version. Must be HCI_INTERFACE_VERSION_1_0. This is the version of the transport driver, not the underlying hardware.
- iMaxSizeRead
Maximum size of the read buffer, not including headers and trailers. This value must at least accommodate the largest HCI command, but can be bigger. The buffer submitted to HCI_ReadPacket is at least as big.
- iMaxSizeWrite
Maximum size of the write packet, not including headers and trailers. This value must accommodate at least the largest HCI command, but must be no bigger than the maximum data packet that transport accepts. The packet given to HCI_WritePacketis no bigger than this.
- iReadBufferHeader
Hint value, used to compute (along with iMaxSizeRead and iReadBufferTrailer) the maximum size of the buffer prepared for HCI_ReadPacket.
- iReadBufferTrailer
Hint value, used to compute (along with iMaxSizeRead and iReadBufferHeader) the maximum size of the buffer prepared for HCI_ReadPacket.
- iWriteBufferHeader
Number of bytes to preallocate for the transport header in HCI_WritePacket at the beginning of the packet (between 0 and BD_BUFFER::cStart).
- iWriteBufferTrailer
Number of bytes to preallocate for the transport trailer in HCI_WritePacket at the end of the packet (between BD_BUFFER::cEnd and BD_BUFFER::cSize).
uiFlags
Flags that specify the HCI commands that should be disabled. This value can be any combination of the following flags.Flag
Value
HCI_FLAGS_NORESET
0x00000001. Disables the HCI_Reset command. Setting this flag ensures that the HCI layer does not send this command to the HCI transport layer after a connection is established between the two layers.
HCI_FLAGS_NOLOCALNAME
0x00000002. Disables the HCI_Change_Local_Name command that is used to modify the friendly name of the device.
HCI_FLAGS_NOROLESWITCH
0x00000004. Changes the role-switching parameter value for the HCI_Create_Connection and HCI_Accept_Connection_Request commands, for a given transport.
fHardwareVersion
Bluetooth specification version of the underlying Bluetooth hardware. Note that this is different from the fInterfaceVersion, which is a version of the transport driver. The Bluetooth specification version can be any of the following values.Specification version
Value
HCI_HARDWARE_VERSION_V_1_0_A
0
HCI_HARDWARE_VERSION_V_1_0_B
1
HCI_HARDWARE_VERSION_V_1_1
2
- uiResetDelay
Amount of time, in milliseconds, between the time when command completion is received for the HCI_Reset command and the next command can be executed.
- uiWriteTimeout
Amount of time, in milliseconds, after which the command aborts if the controller does not respond with a CommandComplete or CommandStatus event.
- uiDriftFactor
Amount of time, in milliseconds, for which the clock offset in inquiry data is presumed to be valid.
- iScoWriteLowNumPackets
Minimum number of outstanding SCO-write packets in backlog (0: use default).
- iScoWriteNumPackets
Maximum number of outstanding SCO-write packets in backlog (0: use default).
- iScoWritePacketSize
Size of each SCO packet (0: use default; -1: SCO not supported).
- iScoSampleSize
Sample size of SCO packet (8 or 16 bits).
Requirements
Header |
bt_hcip.h |
See Also
Reference
Bluetooth HCI Transport Layer Structures
HCI_ReadPacket
HCI_WritePacket
BD_BUFFER