pathmgr_symlink()
Create a symlink
Synopsis:
#include <sys/pathmgr.h>
int pathmgr_symlink( const char * path,
const char * symlink );
Arguments:
- path
- The path that you want to link to.
- symlink
- The name of the link that you want to create.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The pathmgr_symlink() function creates a symbolic link, symlink, in the process manager that redirects to the path specified by path.
In order to create the link, your process must have the PROCMGR_AID_PATHSPACE ability enabled. For more information, see procmgr_ability().
The pathmgr_unlink() function removes the link.
Note:
- The symbolic link isn't permanent and is lost when the system reboots.
- You can get some surprising results if you create a symbolic link to a directory that's a symbolic link
to somewhere else.
For more information, see
Links and inodes
in the Working with Filesystems chapter of the QNX Neutrino User's Guide.
Returns:
- 0
- Success.
- -1
- An error occurred (errno is set).
Errors:
- EACCES
- (QNX Neutrino 7.0 or later) One of the following occurred:
- Security policies are in use and there is no rule to permit the use of that path.
- The process is sandboxed and the path is denied.
- EBUSY
-
- A symlink of the given name already exists.
- ENOMEM
- There isn't enough free memory to complete the operation.
- EPERM
- The calling process doesn't have the required permission; see procmgr_ability().
Examples:
#include <stdio.h>
#include <sys/pathmgr.h>
int main(int argc, char **argv) {
/* Create a link from /mytmp to /dev/shmem */
if(pathmgr_symlink("/dev/shmem", "/mytmp") == -1) {
perror("Can't make link");
}
getchar();
if(pathmgr_unlink("/mytmp") == -1) {
perror("Can't unlink ");
}
return 0;
}
Classification:
| Safety: | |
|---|---|
| Cancellation point | Yes |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
Page updated:
