31#if !defined(__LWS_SPI_H__) 
   79        void * (*alloc_dma)(
const struct lws_spi_ops *ctx, 
size_t size);
 
 
   91                 const uint8_t *p, 
size_t len, uint8_t *rb, 
size_t rb_len);
 
int(* in_flight)(const struct lws_spi_ops *ctx)
 
int(* init)(const struct lws_spi_ops *ctx)
 
LWS_VISIBLE LWS_EXTERN int lws_spi_table_issue(const lws_spi_ops_t *spi_ops, uint32_t flags, const uint8_t *p, size_t len)
 
struct lws_spi_desc lws_spi_desc_t
 
LWS_VISIBLE LWS_EXTERN int lws_spi_readback(const lws_spi_ops_t *spi_ops, uint32_t flags, const uint8_t *p, size_t len, uint8_t *rb, size_t rb_len)
 
int(* lws_spi_cb_t)(void *opaque)
 
struct lws_spi_ops lws_spi_ops_t
 
@ LWS_SPI_BUSMODE_CLK_IDLE_LOW_SAMP_RISING
 
@ LWS_SPI_FLAG_DMA_BOUNCE_NOT_NEEDED
 
@ LWS_SPI_FLAG_DC_CMD_IS_HIGH
 
@ LWS_SPI_BUSMODE_CLK_IDLE_LOW_SAMP_FALLING
 
@ LWS_SPI_BUSMODE_CLK_IDLE_HIGH_SAMP_RISING
 
@ LWS_SPI_TXN_HALF_DUPLEX_DISCRETE
 
@ LWS_SPI_FLAG_DATA_CONTINUE
 
@ LWS_SPI_BUSMODE_CLK_IDLE_HIGH_SAMP_FALLING
 
int(* queue)(const struct lws_spi_ops *ctx, const lws_spi_desc_t *desc)
 
void(* free_dma)(const struct lws_spi_ops *ctx, void **p)
 
lws_spi_cb_t completion_cb