Handle an _IO_ACL message
#include <sys/iofunc.h> int iofunc_acl( resmgr_context_t *ctp, io_acl_t *msg, iofunc_ocb_t *ocb ); iofunc_attr_t *attr );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The iofunc_acl() helper function implements handling of _IO_ACL (access control list) messages. It's called by the default handler, iofunc_acl_default().
For more information about ACLs, see Working with Access Control Lists (ACLs) in the QNX Neutrino Programmer's Guide.
The io_acl_t structure holds the _IO_ACL message received by the resource manager:
struct _io_acl { uint16_t type; uint16_t combine_len; uint32_t subtype; int32_t zero[2]; /* struct _acl_header hdr; */ /* void acl_data */ }; enum _io_acl_subtypes { _IO_ACL_GET, _IO_ACL_SET, _IO_ACL_CHK }; struct _io_acl_reply { uint32_t zero[4]; /* struct _acl_header hdr; */ /* void acl_data */ }; typedef union { struct _io_acl i; struct _io_acl_reply o; } io_acl_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_acl that contains the following members:
The commented-out declaration for acl_data indicates that the _io_acl structure is immediately followed by data.
The o member of the io_acl_t message is a structure of type _io_acl_reply that currently contains no useful data. The commented-out declarations for hdr and acl_data indicate that an _acl_header structure and additional data immediately follow the _io_acl_reply structure.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |