Initialize the per-name attribute structure associated with a device


#include <sys/iofunc.h>

void iofunc_attr_init ( iofunc_attr_t *attr,
                        mode_t mode,
                        iofunc_attr_t *dattr,
                        struct _client_info *info );


A pointer to the iofunc_attr_t structure that you want to initialize.
The type and access permissions that you want to use for the resource. For more information, see the description of the st_mode member of the stat structure in the entry for stat().

In general, there isn't a “correct” set of permissions to use; you should restrict them according to what you want other processes and users to be able to do with your resource manager.

NULL, or a pointer to a iofunc_attr_t structure that you want to use to initialize the structure pointed to by attr.
NULL, or a pointer to a _client_info structure that contains the information about a client connection. For information about this structure, see ConnectClientInfo().



Use the -l c option to qcc to link against this library. This library is usually included automatically.


The iofunc_attr_init() function initializes the per-name attributes that a resource manager associates with a device.

This function initializes the iofunc_attr_t structure pointed to by attr with the information derived from the optional dattr, the mode, and the user and group IDs from the optional info client information structure.

The count, rcount, wcount, rlocks and wlocks counters are reset to zero.


QNX Neutrino

Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

iofunc_attr_lock(), iofunc_attr_t, iofunc_attr_unlock(), iofunc_ocb_attach(), iofunc_ocb_detach(), resmgr_attach()

Writing a Resource Manager

Resource Managers chapter of Getting Started with QNX Neutrino