Renesas PTX1xxR IoT-Reader API Version 7.3.1
Renesas Software Stack for IoT-Reader Applications
Data Structures | Typedefs | Functions
ptx_IoRq.h File Reference
#include "ptx_Platform.h"
#include "ptx_Status.h"
#include "ptxBufferPool.h"
Include dependency graph for ptx_IoRq.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ptxIoRq
 I/O Request structure. More...
 

Macros

Definitions
#define PTX_IORQ_EMPTY   0
 
#define PTX_IORQ_NUM_STACK_LOCATIONS   8
 
#define PTX_IORQ_DATA_POP   ((size_t)-1)
 
#define PTX_IORQ_STATE_DISPOSED   (uint8_t)0
 
#define PTX_IORQ_STATE_LOCKED   (uint8_t)1
 
#define PTX_IORQ_STATE_LOCKED_RELEASE_BUFFER   (uint8_t)2
 
#define PTX_IORQ_STATE_INVALID   (uint8_t)0xFF
 

Typedefs

typedef void(* pptxIoRqCompletion_t) (struct ptxIoRq *ioRq, void *cplUpperLayer, void *data, size_t dataLength, ptxStatus_t cplStatus)
 I/O Completion Callback.
 
typedef struct ptxIoRq ptxIoRq_t
 I/O Request structure.
 
typedef ptxStatus_t(* pptxIoRq_Init_t) (ptxIoRq_t *ioCpl)
 Function pointer declaration according to ptxIoRq_Init.
 
typedef 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.
 
typedef 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.
 

Functions

struct ptxIoRqptxIoRq_GetItem (struct ptxOsal *osalCtx)
 Allocate or get from a pool 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.
 
ptxStatus_t ptxIoRq_Init (ptxIoRq_t *ioCpl)
 Initialise the I/O Request Structure.
 
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_SetItemState (struct ptxIoRq *ioRqItem, uint8_t ioState)
 Set state of an I/O Request Item.
 
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.
 
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_SetPoolItem (ptxIoRq_t *ioRqItem, ptxBufferPool_Item_t *bufferItem)
 Set buffer item linked to the IO RQ object.
 
ptxBufferPool_Item_tptxIoRq_GetPoolItem (ptxIoRq_t *ioRqItem)
 Get buffer item linked to the IO RQ object.
 

Detailed Description

SPDX-License-Identifier: BSD-3-Clause

Copyright (c) 2026, Renesas Electronics Corporation and/or its affiliates

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of Renesas nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY Renesas "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RENESAS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT

OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Project : PTX1K Module : IORQ (I/O ReQuests) File : ptx_IoRq.h

Description : Stack I/O Request