Access control list I/O function handler

Prototype:

int (*acl)( resmgr_context_t *ctp,
            io_acl_t *msg,
            RESMGR_OCB_T *ocb ) 

Classification:

I/O

Default handler:

iofunc_acl_default()

Helper functions:

iofunc_acl()

Client functions:

acl_*()

Messages:

_IO_ACL

Data structure:

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;

Description:

Gets, sets, or checks the access control list (ACL).

Returns:

The status via the helper macro _RESMGR_STATUS() and the reply buffer (with reply data, if required).

Referenced by:

resmgr_io_funcs_t I/O table

Permission checking:

The default implementation iofunc_acl_default() calls the helper function iofunc_acl()), which does not do any permission checking and none is required.