| Updated: October 28, 2024 | 
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 |