![]() |
![]() |
![]() |
Link two directories
#include <sys/iofunc.h> int iofunc_link( resmgr_context_t* ctp, io_link_t* msg, iofunc_attr_t* attr, iofunc_attr_t* dattr, struct _client_info* info );
libc
The function iofunc_link() links directory attr to dattr for context ctp. It's similar to the iofunc_open() function:
The iofunc_link() 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_link() 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 NULL is passed in info, the function returns information about a client's connection in info and an error constant.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
iofunc_client_info(), iofunc_open()
![]() |
![]() |
![]() |