This header provides functions ported from Unix in unistd.h. More...
| Macros | |
| #define | realpath escape_realpath | 
| #define | readlink escape_readlink | 
| #define | symlink escape_symlink | 
| #define | access escape_access | 
| #define | pipe(fds) escape_pipe(fds) | 
| Wrapper around escape_pipe(). | |
| Functions | |
| char * | escape_realpath (const char *path, char *resolved_path) | 
| return the canonicalized absolute pathname  More... | |
| ssize_t | escape_readlink (const char *path, char *buf, size_t bufsize) | 
| int | escape_symlink (const char *path1, const char *path2) | 
| int | escape_access (const char *pathname, int mode) | 
| check real user's permissions for a file  More... | |
| int | escape_pipe (int *fds) | 
| Create a pair of sockets.  More... | |
This header provides functions ported from Unix in unistd.h.
| char* escape_realpath | ( | const char * | path, | 
| char * | resolved_path | ||
| ) | 
return the canonicalized absolute pathname
| path | A path to canonicalize | 
| resolved_path | A pointer of size PATH_MAX where to store the result | 
realpath() expands all symbolic links and resolves references to /./, /../ and extra '/' characters in the null-terminated string named by path to produce a canonicalized absolute pathname. The resulting pathname is stored as a null-terminated string, up to a maximum of PATH_MAX bytes, in the buffer pointed to by resolved_path. The resulting path will have no symbolic link, /./ or /../ components.
If resolved_path is specified as NULL, then realpath() uses malloc(3) to allocate a buffer of up to PATH_MAX bytes to hold the resolved pathname, and returns a pointer to this buffer. The caller should deallocate this buffer using free(3).
| int escape_access | ( | const char * | pathname, | 
| int | mode | ||
| ) | 
check real user's permissions for a file
| pathname | The path to check | 
| mode | the permission to check | 
access() checks whether the calling process can access the file pathname. If pathname is a symbolic link, it is dereferenced. The mode specifies the accessibility check(s) to be performed, and is either the value F_OK, or a mask consisting of the bitwise OR of one or more of R_OK, W_OK, and X_OK. F_OK tests for the existence of the file. R_OK, W_OK, and X_OK test whether the file exists and grants read, write, and execute permissions, respectively.
| int escape_pipe | ( | int * | fds | ) | 
Create a pair of sockets.
| fds | A pointer that contains two sockets. | 
Create a pair of sockets that can be use with select(). Contrary to Unix, that functions does not create a pair of file descriptors.
Conformity: Not applicable.