QNX Developer Support
![]() |
![]() |
![]() |
![]() |
iofunc_space_verify()
Do permission checks for the _IO_SPACE message
Synopsis:
#include <sys/iofunc.h>
int iofunc_space_verify( resmgr_context_t *ctp,
io_space_t *msg,
iofunc_ocb_t *ocb,
int *nonblock );
Arguments:
- ctp
- A pointer to a resmgr_context_t structure that the resource-manager library uses to pass context information between functions.
- msg
- A pointer to the io_space_t structure that contains the message that the resource manager received; see below.
- ocb
- A pointer to the iofunc_ocb_t structure for the Open Control Block that was created when the client opened the resource.
- nonblock
- NULL, or a pointer to a location where the function can
store a value that indicates whether or not the device is nonblocking:
- Zero -- the client doesn't want to be blocked (i.e. O_NONBLOCK was set).
- Nonzero -- the client wants to be blocked.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The iofunc_space_verify() helper function checks the client's permission for an _IO_SPACE message.
io_space_t structure
The io_space_t structure holds the _IO_SPACE message received by the resource manager:
struct _io_space {
uint16_t type;
uint16_t combine_len;
uint16_t subtype;
short whence;
uint64_t start;
uint64_t len;
};
typedef union {
struct _io_space i;
uint64_t o;
} io_space_t;
The I/O message structures are unions of an input message (coming to the resource manager) and an output or reply message (going back to the client).
The i member is a structure of type _io_space that contains the following members:
- type
- _IO_SPACE.
- combine_len
- If the message is a combine message, _IO_COMBINE_FLAG is set in this member. For more information, see "Combine messages" in the Writing a Resource Manager chapter of the Programmer's Guide.
- subtype
- F_ALLOCSP or F_FREESP.
- whence
- The position in the file.
The possible values (defined in <unistd.h>) are:
- SEEK_CUR
- The new file position is computed relative to the current file position. The value of start may be positive, negative or zero.
- SEEK_END
- The new file position is computed relative to the end of the file.
- SEEK_SET
- The new file position is computed relative to the start of the file. The value of start must not be negative.
- start
- The relative offset from the file position determined by the whence member.
- len
- The relative size by which to increase the file.
A value of zero means to end of file.
The o member is the file size.
Returns:
- EBADF
- The client doesn't have read access to this resource.
- EISDIR
- The resource is a directory.
- EOK
- The client has read access to this resource.
Classification:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
See also:
iofunc_ocb_t, iofunc_open(), iofunc_write_default(), iofunc_write_verify(), resmgr_context_t
Writing a Resource Manager chapter of the Programmer's Guide.
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
