[Previous] [Contents] [Next]

iofunc_mknod()

Verify a client's ability to make a new filesystem entry point

Synopsis:

#include <sys/iofunc.h>

int iofunc_mknod( resmgr_context_t *ctp,
                  io_mknod_t *msg,
                  iofunc_attr_t *attr,
                  iofunc_attr_t *dattr,
                  struct _client_info *info );

Library:

libc

Description:

The function iofunc_mknod() supports mknod() requests by verifying that the client can make a new filesystem entry point. It's similar to iofunc_open().

The iofunc_mknod() function checks to see if the client (described by the optional info structure) has access to open the resource (name passed in the msg structure). The attr structure describes the resource's attributes, and the optional dattr structure defines the attributes of the parent directory (i.e. if dattr isn't NULL, it implies that the resource identified by attr is being created within the directory specified by dattr).

The info argument can be passed as NULL, in which case iofunc_mknod() obtains the client information itself via a call to iofunc_client_info(). It is, of course, more efficient to get the client info once, rather than calling this function with NULL every time.

If an error occurs, the function returns information about a client's connection in info and a constant.

Returns:

EOK
Success.
EBADFSYS
NULL was passed in dattr.
EFAULT
A fault occurred when the kernel tried to access the info buffer.
EINVAL
The client process is no longer valid.
ENOSYS
NULL was passed in info.
EPERM
The group ID or owner ID didn't match.

Classification:

QNX 6

Safety:
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes

See also:

iofunc_client_info(), iofunc_open(), mknod()


[Previous] [Contents] [Next]