no | Header file | Description | First released |
---|---|---|---|
1 | <assert.h> | Verify assumptions | Issue 1 |
2 | <ctype.h> | Character types | Issue 1 |
3 | <errno.h> | Retrieving Error Number | Issue 1 |
4 | <fcntl.h> | File opening, locking and other operations | Issue 1 |
5 | <ftw.h> | File tree traversal | Issue 1 |
6 | <grp.h> | User group information and control | Issue 1 |
7 | <limits.h> | Implementation-defined constants, see C data types | Issue 1 |
8 | <math.h> | Mathematical declarations, see C mathematical functions | Issue 1 |
9 | <pwd.h> | passwd (user information) access and control | Issue 1 |
10 | <search.h> | Search tables | Issue 1 |
11 | <setjmp.h> | Stack environment declarations | Issue 1 |
12 | <signal.h> | Signals, see C signal handling | Issue 1 |
13 | <stdio.h> | Standard buffered input/output, see C file input/output | Issue 1 |
14 | <string.h> | Several String Operations, see C string handling | Issue 1 |
15 | <sys/stat.h> | File information (stat et al.) | Issue 1 |
16 | <sys/times.h> | File access and modification times | Issue 1 |
17 | <sys/types.h> | Various data types used elsewhere | Issue 1 |
18 | <sys/utsname.h> | Operating system information, including uname | Issue 1 |
19 | <tgmath.h> | Type-Generic Macros, see C mathematical functions | Issue 1 |
20 | <time.h> | Type-Generic Macros, see C date and time functions | Issue 1 |
21 | <ulimit.h> | Resource limiting (DEPRECATED in favor of <sys/resource.h>) | Issue 1 |
22 | <unistd.h> | Various essential POSIX functions and constants | Issue 1 |
23 | <dirent.h> | Allows the opening and listing of directories | Issue 2 |
24 | <langinfo.h> | Language information constants – builds on C localization functions | Issue 2 |
25 | <nl_types.h> | Localization message catalog functions | Issue 2 |
26 | <sys/ipc.h> | Inter-process communication (IPC) | Issue 2 |
27 | <sys/msg.h> | POSIX message queues | Issue 2 |
28 | <sys/sem.h> | XSI (SysV style) semaphores | Issue 2 |
29 | <sys/shm.h> | XSI (SysV style) shared memory | Issue 2 |
30 | <cpio.h> | Magic numbers for the cpio archive format | Issue 3 |
31 | <locale.h> | Category macros, see C localization functions | Issue 3 |
32 | <stdlib.h> | Standard library definitions, see C standard library | Issue 3 |
33 | <sys/wait.h> | Status of terminated child processes (see wait) | Issue 3 |
34 | <tar.h> | Magic numbers for the tar archive format | Issue 3 |
35 | <termios.h> | Allows terminal I/O interfaces | Issue 3 |
36 | <utime.h> | inode access and modification times | Issue 3 |
37 | <float.h> | Floating-point types, see C data types | Issue 4 |
38 | <fmtmsg.h> | Message display structures | Issue 4 |
39 | <fnmatch.h> | Filename matching | Issue 4 |
40 | <glob.h> | Pathname “globbing” (pattern-matching) | Issue 4 |
41 | <iconv.h> | Codeset conversion facility | Issue 4 |
42 | <libgen.h> | Pathname manipulation | Issue 4 |
43 | <monetary.h> | String formatting of monetary units | Issue 4 |
44 | <ndbm.h> | NDBM database operations | Issue 4 |
45 | <poll.h> | Asynchronous file descriptor multiplexing | Issue 4 |
46 | <regex.h> | Regular expression matching | Issue 4 |
47 | <stdarg.h> | Handle Variable Argument List | Issue 4 |
48 | <stddef.h> | Standard type definitions, see C data types | Issue 4 |
49 | <strings.h> | Case-insensitive string comparisons | Issue 4 |
50 | <stropts.h> | Stream manipulation, including ioctl | Issue 4 |
51 | <sys/mman.h> | Memory management, including POSIX shared memory and memory mapped files | Issue 4 |
52 | <sys/resource.h> | Resource usage, priorities, and limiting | Issue 4 |
53 | <sys/statvfs.h> | File System information | Issue 4 |
54 | <sys/time.h> | Time and date functions and structures | Issue 4 |
55 | <sys/uio.h> | Vectored I/O operations | Issue 4 |
56 | <syslog.h> | System error logging | Issue 4 |
57 | <utmpx.h> | User accounting database functions | Issue 4 |
58 | <wchar.h> | Wide-Character Handling, see C string handling | Issue 4 |
59 | <wordexp.h> | Word-expansion like the shell would perform | Issue 4 |
60 | <aio.h> | Asynchronous input and output | Issue 5 |
61 | <dlfcn.h> | Dynamic linking | Issue 5 |
62 | <inttypes.h> | Fixed sized integer types, see C data types | Issue 5 |
63 | <iso646.h> | Alternative spellings, see C alternative tokens | Issue 5 |
64 | <mqueue.h> | Message queue | Issue 5 |
65 | <pthread.h> | Defines an API for creating and manipulating POSIX threads | Issue 5 |
66 | <sched.h> | Execution scheduling | Issue 5 |
67 | <semaphore.h> | POSIX semaphores | Issue 5 |
68 | <wctype.h> | Wide-Character Classification and Mapping Utilities, see C character classification | Issue 5 |
69 | <arpa/inet.h> | Functions for manipulating numeric IP addresses (part of Berkeley sockets) | Issue 6 |
70 | <complex.h> | Complex Arithmetic, see C mathematical functions | Issue 6 |
71 | <fenv.h> | Floating-Point Environment (FPE), see C mathematical functions | Issue 6 |
72 | <net/if.h> | Listing of local network interfaces | Issue 6 |
73 | <netdb.h> | Translating protocol and host names into numeric addresses (part of Berkeley sockets) | Issue 6 |
74 | <netinet/in.h> | Defines Internet protocol and address family (part of Berkeley sockets) | Issue 6 |
75 | <netinet/tcp.h> | Additional TCP control options (part of Berkeley sockets) | Issue 6 |
76 | <spawn.h> | Process spawning | Issue 6 |
77 | <stdbool.h> | Boolean type and values, see C data types | Issue 6 |
78 | <stdint.h> | Integer types, see C data types | Issue 6 |
79 | <sys/select.h> | Synchronous I/O multiplexing | Issue 6 |
80 | <sys/socket.h> | Main Berkeley sockets header | Issue 6 |
81 | <sys/un.h> | Unix domain sockets | Issue 6 |
82 | <trace.h> | Tracing of runtime behavior (DEPRECATED) | Issue 6 |
unistd.h
unistd.h 是 C 和 C++ 程序设计语言中提供对 POSIX 操作系统 API 的访问功能的头文件的名称。该头文件由 POSIX.1 标准(可移植系统接口)提出,故所有遵循该标准的操作系统和编译器均应提供该头文件(如 Unix 的所有官方版本,包括 Mac OS X、Linux 等)。
对于类 Unix 系统,unistd.h 中所定义的接口通常都是大量针对系统调用的封装(英语:wrapper functions),如 fork、pipe 以及各种 I/O 原语(read、write、close 等等)。
#ifndef _UNISTD_H
#define _UNISTD_H
#include <features.h>
#ifdef __cplusplus
extern "C" {
#endif
#include <_ansi.h>
#include <sys/types.h>
#include <sys/_types.h>
#define __need_size_t
#define __need_ptrdiff_t
#include <stddef.h>
extern char **environ;
void _EXFUN(_exit, (int __status ) _ATTRIBUTE ((noreturn)));
int _EXFUN(access,(const char *__path, int __amode ));
unsigned _EXFUN(alarm, (unsigned __secs ));
int _EXFUN(chdir, (const char *__path ));
int _EXFUN(chmod, (const char *__path, mode_t __mode ));
int _EXFUN(chown, (const char *__path, uid_t __owner, gid_t __group ));
int _EXFUN(chroot, (const char *__path ));
int _EXFUN(close, (int __fildes ));
char _EXFUN(*ctermid, (char *__s ));
char _EXFUN(*cuserid, (char *__s ));
int _EXFUN(dup, (int __fildes ));
int _EXFUN(dup2, (int __fildes, int __fildes2 ));
int _EXFUN(execl, (const char *__path, const char *, ... ));
int _EXFUN(execle, (const char *__path, const char *, ... ));
int _EXFUN(execlp, (const char *__file, const char *, ... ));
int _EXFUN(execv, (const char *__path, char * const __argv[] ));
int _EXFUN(execve, (const char *__path, char * const __argv[], char * const __envp[] ));
int _EXFUN(execvp, (const char *__file, char * const __argv[] ));
int _EXFUN(fchdir, (int __fildes));
int _EXFUN(fchmod, (int __fildes, mode_t __mode ));
int _EXFUN(fchown, (int __fildes, uid_t __owner, gid_t __group ));
pid_t _EXFUN(fork, (void ));
long _EXFUN(fpathconf, (int __fd, int __name ));
int _EXFUN(fsync, (int __fd));
int _EXFUN(ftruncate, (int __fd, off_t __length));
char _EXFUN(*getcwd, (char *__buf, size_t __size ));
int _EXFUN(getdomainname ,(char *__name, size_t __len));
gid_t _EXFUN(getegid, (void ));
uid_t _EXFUN(geteuid, (void ));
gid_t _EXFUN(getgid, (void ));
int _EXFUN(getgroups, (int __gidsetsize, gid_t __grouplist[] ));
int _EXFUN(__gethostname, (char *__name, size_t __len));
char _EXFUN(*getlogin, (void ));
#if defined(_POSIX_THREAD_SAFE_FUNCTIONS)
int _EXFUN(getlogin_r, (char *name, size_t namesize) );
#endif
char _EXFUN(*getpass, (__const char *__prompt));
int _EXFUN(getpagesize, (void));
pid_t _EXFUN(getpgid, (pid_t));
pid_t _EXFUN(getpgrp, (void ));
pid_t _EXFUN(getpid, (void ));
pid_t _EXFUN(getppid, (void ));
uid_t _EXFUN(getuid, (void ));
char * _EXFUN(getusershell, (void));
char _EXFUN(*getwd, (char *__buf ));
int _EXFUN(isatty, (int __fildes ));
int _EXFUN(lchown, (const char *__path, uid_t __owner, gid_t __group ));
int _EXFUN(link, (const char *__path1, const char *__path2 ));
int _EXFUN(nice, (int __nice_value ));
off_t _EXFUN(lseek, (int __fildes, off_t __offset, int __whence ));
long _EXFUN(pathconf, (const char *__path, int __name ));
int _EXFUN(pause, (void ));
int _EXFUN(pipe, (int __fildes[2] ));
ssize_t _EXFUN(pread, (int __fd, void *__buf, size_t __nbytes, off_t __offset));
ssize_t _EXFUN(pwrite, (int __fd, const void *__buf, size_t __nbytes, off_t __offset));
_READ_WRITE_RETURN_TYPE _EXFUN(read, (int __fd, void *__buf, size_t __nbyte ));
int _EXFUN(readlink, (const char *path, char *buf, size_t bufsiz));
int _EXFUN(rmdir, (const char *__path ));
void * _EXFUN(sbrk, (ptrdiff_t __incr));
int _EXFUN(setegid, (gid_t __gid ));
int _EXFUN(seteuid, (uid_t __uid ));
int _EXFUN(setgid, (gid_t __gid ));
int _EXFUN(setpgid, (pid_t __pid, pid_t __pgid ));
int _EXFUN(setpgrp, (void ));
pid_t _EXFUN(setsid, (void ));
int _EXFUN(setuid, (uid_t __uid ));
unsigned _EXFUN(sleep, (unsigned int __seconds ));
void _EXFUN(swab, (const void *, void *, ssize_t));
int _EXFUN(symlink, (const char *oldpath, const char *newpath));
long _EXFUN(sysconf, (int __name ));
pid_t _EXFUN(tcgetpgrp, (int __fildes ));
int _EXFUN(tcsetpgrp, (int __fildes, pid_t __pgrp_id ));
int _EXFUN(truncate, (const char *, off_t __length));
char * _EXFUN(ttyname, (int __fildes ));
int _EXFUN(ttyname_r, (int __fildes, char *__buf, size_t __len));
int _EXFUN(unlink, (const char *__path ));
int _EXFUN(usleep, (__useconds_t __useconds));
int _EXFUN(vhangup, (void ));
_READ_WRITE_RETURN_TYPE _EXFUN(write, (int __fd, const void *__buf, size_t __nbyte ));
extern char *optarg; /** getopt(3) external variables */
extern int optind, opterr, optopt;
int getopt(int, char * const [], const char *);
extern int optreset; /** getopt(3) external variable */
#ifndef _POSIX_SOURCE
pid_t _EXFUN(vfork, (void ));
extern char *suboptarg; /** getsubopt(3) external variable */
int getsubopt(char **, char * const *, char **);
#endif /** _POSIX_SOURCE */
/** Provide prototypes for most of the _<systemcall> names that are
provided in newlib for some compilers. */
int _EXFUN(_close, (int __fildes ));
pid_t _EXFUN(_fork, (void ));
pid_t _EXFUN(_getpid, (void ));
int _EXFUN(_link, (const char *__path1, const char *__path2 ));
off_t _EXFUN(_lseek, (int __fildes, off_t __offset, int __whence ));
_READ_WRITE_RETURN_TYPE _EXFUN(_read, (int __fd, void *__buf, size_t __nbyte ));
void * _EXFUN(_sbrk, (size_t __incr));
int _EXFUN(_unlink, (const char *__path ));
_READ_WRITE_RETURN_TYPE _EXFUN(_write, (int __fd, const void *__buf, size_t __nbyte ));
int _EXFUN(_execve, (const char *__path, char * const __argv[], char * const __envp[] ));
#define F_OK 0
#define R_OK 4
#define W_OK 2
#define X_OK 1
# define SEEK_SET 0
# define SEEK_CUR 1
# define SEEK_END 2
#include <sys/features.h>
#define STDIN_FILENO 0 /** standard input file descriptor */
#define STDOUT_FILENO 1 /** standard output file descriptor */
#define STDERR_FILENO 2 /** standard error file descriptor */
#include <bits/environments.h>
#include <bits/confname.h>
# define MAXPATHLEN 1024
#ifdef __cplusplus
}
#endif
#endif /** _SYS_UNISTD_H *