unistd.h

Overview

Related Modules:

UTILS

Description:

Provides functions and data structures related to process operations.

For example, you can use the functions to create and copy a process, and obtain a process ID.

Since:

1.0

Version:

1.0

Summary

Macros

Macro Name and Value Description
STDIN_FILENO   0 Descriptor ID of the standard input file.
STDOUT_FILENO   1 Descriptor ID of the standard output file.
STDERR_FILENO   2 Descriptor ID of the standard error file.
SEEK_SET   0 Relocation starts from the file header.
SEEK_CUR   1 Relocation starts from the position of the currently accessed file.
SEEK_END   2 Relocation starts from the end of the file.
NULL   ((void*)0) NULL.
F_OK   0 Existing file.
R_OK   4 Readable file.
W_OK   2 Writable file.
X_OK   1 Executable file.

Functions

Function Name Description
pipe (int pipefd[2]) int Creates an anonymous pipe.
close (int fd) int Closes a file with a specified file descriptor.
dup (int oldfd) int Copies a specified file descriptor.
dup2 (int oldfd, int newfd) int Copies the descriptor of the target file to a specified descriptor.
lseek (int fd, off_t offset, int whence) off_t Sets the offset of the pointer to the file.
fsync (int fd) int Synchronizes a file associated with a specified file descriptor to the storage device.
read (int fd, void buf, size_t size) ssize_t Reads the file contents and saves them in a specified buffer location.
write (int fd, const void buf, size_t size) ssize_t Writes the specified content to the file.
pread (int fd, void buf, size_t count, off_t offset) ssize_t Reads data whose offset is offset and length is count from fd to the buffer.
pwrite (int fd, const void buf, size_t count, off_t offset) ssize_t Writes data from the buffer to fd whose offset is offset and length is count.
unlink (const char path) int Deletes a specified file.
unlinkat (int fd, const char path, int flag) int Deletes a specified file.
rmdir (const char path) int Deletes a directory.
truncate (const char path, off_t length) int Truncates a file to a specified size based on the file path.
ftruncate (int fd, off_t length) int Truncates a file to a specified length.
access (const char path, int mode) int Checks whether a file has the corresponding permission.
chdir (const char path) int Switches the current working directory to a specified directory.
getcwd (char buf, size_t size) char Obtains the current working directory.
alarm (unsigned int seconds) unsigned int Arranges a signal to be sent to the current process after the number of seconds specified by seconds.
sleep (unsigned seconds) unsigned Sleeps for a period of time.
pause (void) int Waits for signal.
fork (void) pid_t Creates a new process that inherits from the user-mode data of its parent process.
execve (const char path, char const arg[], char const envp[]) int Executes a specified user program file in ELF format.
execv (const char path, char const arg[]) int Executes a specified user program file in ELF format.
execle (const char path, const char arg,…) int Executes a specified user program file in ELF format.
execl (const char path, const char arg,…) int Executes a specified user program file in ELF format.
execvp (const char path, char const arg[]) int Executes a specified user program file in ELF format.
execlp (const char path, const char arg,…) int Executes a specified user program file in ELF format.
_exit (int status) _Noreturn void Exits the process immediately and closes all opened file descriptors in the process.
swab (const void from, void to, ssize_t n) void Swaps bytes.
getpid (void) pid_t Obtains the process ID.
getppid (void) pid_t Obtains the parent process ID.
getpgrp (void) pid_t Obtains the ID of the process group of the calling process.
getpgid (pid_t pid) pid_t Obtains the ID of the process group whose process ID is specified by pid.
setpgid (pid_t pid, pid_t pgid) int Sets the ID of the process group whose process ID is specified by pid.
getopt (int argc, char const argv[], const char optstring) int Parses command-line arguments based on the specified option.
getuid (void) uid_t Obtains the real user ID (UID) of the calling process.
geteuid (void) uid_t Obtains the effective user ID (UID) of the calling process.
getgid (void) gid_t Obtains the real group ID (GID) of the calling process.
getegid (void) gid_t Obtains the effective group ID (GID) of the calling process.
getgroups (int size, gid_t list[]) int Obtains a list of supplementary user group IDs specific to the calling process.
setuid (uid_t uid) int Sets the real user ID for the calling process.
seteuid (uid_t euid) int Sets the effective user ID of the calling process.
setgid (gid_t gid) int Sets the user group ID of the calling process.
setegid (gid_t egid) int Sets the effective user group ID of the calling process.
pathconf (const char path, int name) long Obtains the configuration value of a file.
setreuid (uid_t ruid, uid_t euid) int Sets the real and effective user IDs of the calling process.
setregid (gid_t rgid, gid_t egid) int Sets the real and effective user group IDs of the calling process.
setpgrp (void) pid_t Sets the process group ID of the calling process.
usleep (unsigned useconds) int Sleeps for several microseconds.
ualarm (unsigned value, unsigned interval) unsigned Sets a microsecond-level timer.
setgroups (size_t size, const gid_t list) int Sets the supplementary user group list of the calling process.
setresuid (uid_t ruid, uid_t euid, uid_t suid) int Sets the real, effective, and saved user IDs of the calling process.
setresgid (gid_t rgid, gid_t egid, gid_t sgid) int Sets the real, effective, and saved group IDs of the calling process.
getresuid (uid_t ruid, uid_t euid, uid_t suid) int Obtains the real, effective, and saved user IDs of the calling process.
getresgid (gid_t rgid, gid_t egid, gid_t sgid) int Obtains the real, effective, and saved user group IDs of the calling process.
get_current_dir_name (void) char Obtains the name of the current working directory.
sbrk (intptr_t increment) void Adjusts the heap size of a process.
getpagesize (void) int Obtains the memory page size.
chown (const char pathname, uid_t owner, gid_t group) int Changes the user and group ownership of a file.