Simple Peripheral Bus (SPB)
Overview of the Simple Peripheral Bus (SPB) technology.
To develop Simple Peripheral Bus (SPB), you need these headers:
For the programming guide, see Simple Peripheral Bus (SPB).
Enumerations
SPB_MULTI_SPI_TRANSFER_MODE The SPB_MULTI_SPI_TRANSFER_MODE enumeration specifies a type of multi-SPI transfer to be used by a bus driver to communicate with a peripheral device. |
SPB_REQUEST_SEQUENCE_POSITION The SPB_REQUEST_SEQUENCE_POSITION enumeration indicates the position of an I/O request in the list of transfers for an I/O transfer sequence. |
SPB_REQUEST_TYPE The SPB_REQUEST_TYPE enumeration specifies the type of SPB operation that a client is requesting. |
SPB_TRANSFER_BUFFER_FORMAT The SPB_TRANSFER_BUFFER_FORMAT enumeration specifies the format of the buffer that is described by an SPB_TRANSFER_BUFFER structure. |
SPB_TRANSFER_DIRECTION The SPB_TRANSFER_DIRECTION enumeration describes the direction (read or write) of a single transfer in an I/O transfer sequence. |
SpbIoctl Defines values to indicate the type I/O control request. |
Functions
EVT_SPB_CONTROLLER_LOCK An SPB controller driver's EvtSpbControllerLock event callback function locks the SPB controller for accesses of a single target device on the bus. |
EVT_SPB_CONTROLLER_OTHER An SPB controller driver's EvtSpbControllerIoOther event callback function handles device I/O control requests that are not handled by other event callback functions or by the SPB framework extension (SpbCx). |
EVT_SPB_CONTROLLER_READ An SPB controller driver's EvtSpbControllerIoRead event callback function reads data from the specified target device into the buffers that are supplied with the read request. |
EVT_SPB_CONTROLLER_SEQUENCE An SPB controller driver's EvtSpbControllerIoSequence event callback function performs a sequence of data transfers between the specified target device and the buffers that are supplied with the sequence request. |
EVT_SPB_CONTROLLER_UNLOCK An SPB controller driver's EvtSpbControllerUnlock event callback function unlocks the SPB controller, which was locked by a previous call to the EvtSpbControllerLock event callback function. |
EVT_SPB_CONTROLLER_WRITE An SPB controller driver's EvtSpbControllerIoWrite event callback function writes data to the specified target device from the buffers that are supplied with the write request. |
EVT_SPB_TARGET_CONNECT An SPB controller driver's EvtSpbTargetConnect event callback function opens a connection to a target device on the bus. |
EVT_SPB_TARGET_DISCONNECT An SPB controller driver's EvtSpbTargetDisconnect event callback function closes a connection to a target device that was previously opened by a call to the driver's EvtSpbTargetConnect event callback function. |
PwmParsePinPath Parses a pin path under the Pulse Width Modulation (PWM) controller namespace to validate its format and extract the pin number. |
SPB_CONNECTION_PARAMETERS_INIT The SPB_CONNECTION_PARAMETERS_INIT function initializes an SPB_CONNECTION_PARAMETERS structure. |
SPB_CONTROLLER_CONFIG_INIT The SPB_CONTROLLER_CONFIG_INIT function initializes an SPB_CONTROLLER_CONFIG structure. |
SPB_MULTI_SPI_READ_TRANSFER_INIT The SPB_MULTI_SPI_READ_TRANSFER_INIT function initializes an SPB_MULTI_SPI_READ_TRANSFER structure. |
SPB_MULTI_SPI_TRANSFER_INIT The SPB_MULTI_SPI_TRANSFER_INIT function initializes an SPB_MULTI_SPI_TRANSFER structure. |
SPB_MULTI_SPI_WRITE_TRANSFER_INIT The SPB_MULTI_SPI_WRITE_TRANSFER_INIT function initializes an SPB_MULTI_SPI_WRITE_TRANSFER structure. |
SPB_REQUEST_PARAMETERS_INIT The SPB_REQUEST_PARAMETERS_INIT function initializes an SPB_REQUEST_PARAMETERS structure. |
SPB_TRANSFER_DESCRIPTOR_INIT The SPB_TRANSFER_DESCRIPTOR_INIT function initializes an SPB_TRANSFER_DESCRIPTOR structure. |
SPB_TRANSFER_LIST_ENTRY_INIT_BUFFER_LIST The SPB_TRANSFER_LIST_ENTRY_INIT_BUFFER_LIST function returns an SPB_TRANSFER_LIST_ENTRY structure that is initialized to describe a scatter-gather list.SPB_TRANSFER_LIST_ENTRY_INIT_BUFFER_LIST function returns an SPB_TRANSFER_LIST_ENTRY structure that is initialized to describe a scatter-gather list. |
SPB_TRANSFER_LIST_ENTRY_INIT_MDL The SPB_TRANSFER_LIST_ENTRY_INIT_MDL function returns an SPB_TRANSFER_LIST_ENTRY structure that is initialized to use an MDL to describe a data buffer. |
SPB_TRANSFER_LIST_ENTRY_INIT_NON_PAGED The SPB_TRANSFER_LIST_ENTRY_INIT_NON_PAGED function returns an SPB_TRANSFER_LIST_ENTRY structure that is initialized to describe a simple data buffer in nonpaged memory. |
SPB_TRANSFER_LIST_ENTRY_INIT_SIMPLE The SPB_TRANSFER_LIST_ENTRY_INIT_SIMPLE function returns an SPB_TRANSFER_LIST_ENTRY structure that is initialized to describe a simple data buffer.SPB_TRANSFER_LIST_ENTRY_INIT_SIMPLE function returns an SPB_TRANSFER_LIST_ENTRY structure that is initialized to describe a simple data buffer. |
SPB_TRANSFER_LIST_INIT The SPB_TRANSFER_LIST_INIT function initializes an SPB_TRANSFER_LIST structure. |
SpbControllerSetIoOtherCallback The SpbControllerSetIoOtherCallback method registers an SPB controller driver's EvtSpbControllerIoOther callback function. |
SpbControllerSetRequestAttributes The SpbControllerSetRequestAttributes method sets object attributes that will be used for all SPBREQUEST objects that the SPB framework extension (SpbCx) delivers to the SPB controller driver. |
SpbControllerSetTargetAttributes The SpbControllerSetTargetAttributes method sets object attributes that will be used for all SPBTARGET objects that the SPB framework extension (SpbCx) delivers to the SPB controller driver. |
SpbDeviceInitConfig The SpbDeviceInitConfig method attaches the SPB framework extension (SpbCx) to the I/O-request chain for a WDFDEVICE (FDO or PDO) object that is to be created. |
SpbDeviceInitialize The SpbDeviceInitialize method completes the initialization of the SPB controller driver after this driver creates the associated device object. |
SpbRequestCaptureIoOtherTransferList The SpbRequestCaptureIoOtherTransferList method retrieves the SPB_TRANSFER_LIST structure in the input buffer of the custom IOCTL request. |
SpbRequestComplete The SpbRequestComplete method completes an I/O request and supplies a completion status. |
SpbRequestGetController The SpbRequestGetController method returns the WDFDEVICE handle to the device object for the SPB controller that the specified I/O request was sent to. |
SpbRequestGetParameters The SpbRequestGetParameters method retrieves a set of SPB-specific parameter values from an I/O request. |
SpbRequestGetTarget The SpbRequestGetTarget method retrieves the SPBTARGET handle from the specified I/O request. |
SpbRequestGetTransferParameters The SpbRequestGetTransferParameters method retrieves the transfer parameters for an individual transfer in an I/O transfer sequence. |
SpbTargetGetConnectionParameters The SpbTargetGetConnectionParameters method retrieves the connection parameters for a target device on the bus. |
SpbTargetGetFileObject The SpbTargetGetFileObject method accepts, as an input parameter, an SPBTARGET handle to an open target device, and returns a WDFFILEOBJECT handle to this target. |
Structures
PNP_SERIAL_BUS_DESCRIPTOR The PNP_SERIAL_BUS_DESCRIPTOR structure describes the physical connection of a target device to a serial bus (I2C, SPI, or UART). |
RH_QUERY_CONNECTION_PROPERTIES_OUTPUT_BUFFER The RH_QUERY_CONNECTION_PROPERTIES_OUTPUT_BUFFER structure contains the connection properties for a target device that is connected to a serial bus (I2C, SPI, or UART). |
SPB_CONNECTION_PARAMETERS The SPB_CONNECTION_PARAMETERS structure contains the connection parameters for a target device on a simple peripheral bus. |
SPB_CONTROLLER_CONFIG The SPB_CONTROLLER_CONFIG structure contains the configuration settings for an SPB controller driver. |
SPB_MULTI_SPI_READ_TRANSFER The SPB_MULTI_SPI_READ_TRANSFER structure describes a read operation to be executed in a Multi-SPI (e.g. Dual SPI or Quad SPI) mode. |
SPB_MULTI_SPI_TRANSFER The SPB_MULTI_SPI_TRANSFER structure describes a SPI I/O operation which is to be executed using a multi-SPI transfer mode such as Dual or Quad SPI. |
SPB_MULTI_SPI_TRANSFER_HEADER The SPB_MULTI_SPI_TRANSFER_HEADER structure describes a SPI transfer to be executed in a Multi-SPI (e.g. Dual SPI or Quad SPI) mode. |
SPB_MULTI_SPI_WRITE_TRANSFER The SPB_MULTI_SPI_WRITE_TRANSFER structure describes a write operation to be executed in a Multi-SPI (e.g. Dual SPI or Quad SPI) mode. |
SPB_TRANSFER_BUFFER The SPB_TRANSFER_BUFFER structure describes the data buffer for an individual transfer in an I/O transfer sequence. |
SPB_TRANSFER_BUFFER_LIST_ENTRY The SPB_TRANSFER_BUFFER_LIST_ENTRY structure describes either a simple transfer buffer, or an element in an array of one or more transfer buffers. |
SPB_TRANSFER_DESCRIPTOR The SPB_TRANSFER_DESCRIPTOR structure describes a single transfer in an I/O transfer sequence. |
SPB_TRANSFER_LIST The SPB_TRANSFER_LIST structure describes an I/O transfer sequence. |
SPB_TRANSFER_LIST_ENTRY The SPB_TRANSFER_LIST_ENTRY structure describes a single transfer in an I/O transfer sequence. |