97#define PTX_IORQ_EMPTY 0
98#define PTX_IORQ_NUM_STACK_LOCATIONS 8
99#define PTX_IORQ_DATA_POP ((size_t)-1)
101#define PTX_IORQ_STATE_DISPOSED (uint8_t)0
102#define PTX_IORQ_STATE_LOCKED (uint8_t)1
103#define PTX_IORQ_STATE_LOCKED_RELEASE_BUFFER (uint8_t)2
104#define PTX_IORQ_STATE_INVALID (uint8_t)0xFF
uint16_t ptxStatus_t
Status Type.
Definition ptx_Status.h:82
ptxBufferPool_Item_t * ptxIoRq_GetPoolItem(ptxIoRq_t *ioRqItem)
Get buffer item linked to the IO RQ object.
ptxStatus_t ptxIoRq_Init(ptxIoRq_t *ioCpl)
Initialise the I/O Request Structure.
ptxStatus_t ptxIoRq_PopCallCompletion(struct ptxIoRq *ioRq, struct ptxLog *logComp, void *ioData, size_t ioDataLength, ptxStatus_t cplStatus)
Pop next item and call following completion.
ptxStatus_t ptxIoRq_CallCompletion(pptxIoRqCompletion_t followingCompletion, struct ptxIoRq *ioRq, void *cplUpperLayer, void *data, size_t dataLength, ptxStatus_t cplStatus)
I/O Completion Callback Invocation Helper.
void(* pptxIoRqCompletion_t)(struct ptxIoRq *ioRq, void *cplUpperLayer, void *data, size_t dataLength, ptxStatus_t cplStatus)
I/O Completion Callback.
Definition ptx_IoRq.h:143
ptxStatus_t ptxIoRq_Push(ptxIoRq_t *ioCpl, pptxIoRqCompletion_t ioCompletionFn, void *ioData, size_t ioDataLength, void *ioCompletionComp)
Push a new stack location to the I/O request object.
ptxStatus_t ptxIoRq_Pop(ptxIoRq_t *ioCpl, pptxIoRqCompletion_t *ioCompletionFn, void **ioData, size_t *ioDataLength, void **ioCompletionComp)
Pop the next stack location from the I/O request object.
ptxStatus_t ptxIoRq_SetPoolItem(ptxIoRq_t *ioRqItem, ptxBufferPool_Item_t *bufferItem)
Set buffer item linked to the IO RQ object.
struct ptxIoRq ptxIoRq_t
I/O Request structure.
ptxStatus_t(* pptxIoRq_Pop_t)(ptxIoRq_t *ioCpl, pptxIoRqCompletion_t *ioCompletionFn, void **ioData, uint8_t *ioDataLength, void **ioCompletionComp)
Function pointer declaration according to ptxIoRq_Pop.
Definition ptx_IoRq.h:178
struct ptxIoRq * ptxIoRq_GetItem(struct ptxOsal *osalCtx)
Allocate or get from a pool an I/O Request Item.
#define PTX_IORQ_NUM_STACK_LOCATIONS
Definition ptx_IoRq.h:98
ptxStatus_t(* pptxIoRq_Init_t)(ptxIoRq_t *ioCpl)
Function pointer declaration according to ptxIoRq_Init.
Definition ptx_IoRq.h:168
ptxStatus_t(* pptxIoRq_Push_t)(ptxIoRq_t *ioCpl, pptxIoRqCompletion_t ioCompletionFn, uint8_t *ioData, uint8_t dataLength, void *ioCompletionComp)
Function pointer declaration according to ptxIoRq_Push.
Definition ptx_IoRq.h:173
ptxStatus_t ptxIoRq_SetItemState(struct ptxIoRq *ioRqItem, uint8_t ioState)
Set state of an I/O Request Item.
void ptxIoRq_ReturnItem(struct ptxOsal *osalCtx, struct ptxIoRq *ioRqItem)
De-allocate or return to a pool an I/O Request Item.
Buffer Pool Item structure.
Definition ptxBufferPool.h:114
I/O Request structure.
Definition ptx_IoRq.h:154
pptxIoRqCompletion_t IoCompletion[PTX_IORQ_NUM_STACK_LOCATIONS]
Definition ptx_IoRq.h:155
size_t dataLength[PTX_IORQ_NUM_STACK_LOCATIONS]
Definition ptx_IoRq.h:158
void * data[PTX_IORQ_NUM_STACK_LOCATIONS]
Definition ptx_IoRq.h:157
uint8_t N
Definition ptx_IoRq.h:160
uint8_t State
Definition ptx_IoRq.h:161
ptxBufferPool_Item_t * bufferItem
Definition ptx_IoRq.h:162
uint8_t Type
Definition ptx_IoRq.h:159
void * Layer[PTX_IORQ_NUM_STACK_LOCATIONS]
Definition ptx_IoRq.h:156
Logger Component Structure.
Definition ptxLog.h:208