Share via


HCI_PARAMETERS (Windows Embedded CE 6.0)

1/6/2010

This structure is used to define 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 be sizeof(HCI_PARAMETERS).
  • fInterfaceVersion
    Interface version. Must be HCI_INTERFACE_VERSION_1_0. This is 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 may be bigger. Buffer submitted to HCI_ReadPacket will be 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 accepted by transport. The packet given to HCI_WritePacket will be no bigger than this.
  • iReadBufferHeader
    This is a hint value, used to compute (along with iMaxSizeRead and iReadBufferTrailer) maximum size of buffer prepared for HCI_ReadPacket.
  • iReadBufferTrailer
    This is a hint value, used to compute (along with iMaxSizeRead and iReadBufferHeader) maximum size of buffer prepared for HCI_ReadPacket.
  • iWriteBufferHeader
    Number of bytes to preallocate for transport header in HCI_WritePacket at the beginning of the packet (between 0 and BD_BUFFER::cStart).
  • iWriteBufferTrailer
    Number of bytes to preallocate for transport trailer in HCI_WritePacket at the end of the packet (between BD_BUFFER::cEnd and BD_BUFFER::cSize).
  • uiFlags
    These flags specify the HCI Commands that should be disabled. It could be any combination of the following.

    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 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.

    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 receiving command completion for HCI_Reset command and the next command can be executed.
  • uiWriteTimeout
    Amount of time, in milliseconds, after which the command aborts if the card does not respond with 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
Windows Embedded CE Windows CE .NET 4.0 and later

See Also

Reference

Bluetooth HCI Transport Layer Structures
HCI_ReadPacket
HCI_WritePacket

Other Resources

BD_BUFFER