• unistd.h文件


    转载地址:http://baike.baidu.com/link?url=nEyMMFYevs4yoHgQUs2bcfd5WApHUKx0b1ervi7ulR09YhtqC4txmvL1Ce3FS8xTKtWQuvmEBHC9xezMGpvGHa

    unistd.h 是 C 和 C++ 程序设计语言中提供对 POSIX 操作系统 API 的访问功能的头文件的名称。该头文件由 POSIX.1 标准(单一UNIX规范的基础)提出,故所有遵循该标准的操作系统和编译器均应提供该头文件(如 Unix 的所有官方版本,包括 Mac OS XLinux 等)。
    对于类 Unix 系统,unistd.h 中所定义的接口通常都是大量针对系统调用的封装(英语:wrapper functions),如 fork、pipe 以及各种 I/O 原语(read、write、close 等等)。
    类似于 Cygwin 和 MinGW 的 Unix 兼容层也提供相应版本的 unistd.h。

    unistd.h 源码

    [cpp] view plain copy
     
    1. #ifndef _UNISTD_H  
    2. #define _UNISTD_H  
    3. #include <features.h>  
    4. #ifdef __cplusplus  
    5. extern "C" {  
    6. #endif  
    7. #include <_ansi.h>  
    8. #include <sys/types.h>  
    9. #include <sys/_types.h>  
    10. #define __need_size_t  
    11. #define __need_ptrdiff_t  
    12. #include <stddef.h>  
    13. extern char **environ;  
    14. void    _EXFUN(_exit, (int __status ) _ATTRIBUTE ((noreturn)));  
    15. int    _EXFUN(access,(const char *__path, int __amode ));  
    16. unsigned  _EXFUN(alarm, (unsigned __secs ));  
    17. int     _EXFUN(chdir, (const char *__path ));  
    18. int     _EXFUN(chmod, (const char *__path, mode_t __mode ));  
    19. int     _EXFUN(chown, (const char *__path, uid_t __owner, gid_t __group ));  
    20. int     _EXFUN(chroot, (const char *__path ));  
    21. int     _EXFUN(close, (int __fildes ));  
    22. char    _EXFUN(*ctermid, (char *__s ));  
    23. char    _EXFUN(*cuserid, (char *__s ));  
    24. int     _EXFUN(dup, (int __fildes ));  
    25. int     _EXFUN(dup2, (int __fildes, int __fildes2 ));  
    26. int     _EXFUN(execl, (const char *__path, const char *, ... ));  
    27. int     _EXFUN(execle, (const char *__path, const char *, ... ));  
    28. int     _EXFUN(execlp, (const char *__file, const char *, ... ));  
    29. int     _EXFUN(execv, (const char *__path, char * const __argv[] ));  
    30. int     _EXFUN(execve, (const char *__path, char * const __argv[], char * const __envp[] ));  
    31. int     _EXFUN(execvp, (const char *__file, char * const __argv[] ));  
    32. int     _EXFUN(fchdir, (int __fildes));  
    33. int     _EXFUN(fchmod, (int __fildes, mode_t __mode ));  
    34. int     _EXFUN(fchown, (int __fildes, uid_t __owner, gid_t __group ));  
    35. pid_t   _EXFUN(fork, (void ));  
    36. long    _EXFUN(fpathconf, (int __fd, int __name ));  
    37. int     _EXFUN(fsync, (int __fd));  
    38. int     _EXFUN(ftruncate, (int __fd, off_t __length));  
    39. char    _EXFUN(*getcwd, (char *__buf, size_t __size ));  
    40. int    _EXFUN(getdomainname ,(char *__name, size_t __len));  
    41. gid_t   _EXFUN(getegid, (void ));  
    42. uid_t   _EXFUN(geteuid, (void ));  
    43. gid_t   _EXFUN(getgid, (void ));  
    44. int     _EXFUN(getgroups, (int __gidsetsize, gid_t __grouplist[] ));  
    45. int     _EXFUN(__gethostname, (char *__name, size_t __len));  
    46. char    _EXFUN(*getlogin, (void ));  
    47. #if defined(_POSIX_THREAD_SAFE_FUNCTIONS)  
    48. int _EXFUN(getlogin_r, (char *name, size_t namesize) );  
    49. #endif  
    50. char     _EXFUN(*getpass, (__const char *__prompt));  
    51. int  _EXFUN(getpagesize, (void));  
    52. pid_t   _EXFUN(getpgid, (pid_t));  
    53. pid_t   _EXFUN(getpgrp, (void ));  
    54. pid_t   _EXFUN(getpid, (void ));  
    55. pid_t   _EXFUN(getppid, (void ));  
    56. uid_t   _EXFUN(getuid, (void ));  
    57. char *    _EXFUN(getusershell, (void));  
    58. char    _EXFUN(*getwd, (char *__buf ));  
    59. int     _EXFUN(isatty, (int __fildes ));  
    60. int     _EXFUN(lchown, (const char *__path, uid_t __owner, gid_t __group ));  
    61. int     _EXFUN(link, (const char *__path1, const char *__path2 ));  
    62. int    _EXFUN(nice, (int __nice_value ));  
    63. off_t   _EXFUN(lseek, (int __fildes, off_t __offset, int __whence ));  
    64. long    _EXFUN(pathconf, (const char *__path, int __name ));  
    65. int     _EXFUN(pause, (void ));  
    66. int     _EXFUN(pipe, (int __fildes[2] ));  
    67. ssize_t _EXFUN(pread, (int __fd, void *__buf, size_t __nbytes, off_t __offset));  
    68. ssize_t _EXFUN(pwrite, (int __fd, const void *__buf, size_t __nbytes, off_t __offset));  
    69. _READ_WRITE_RETURN_TYPE _EXFUN(read, (int __fd, void *__buf, size_t __nbyte ));  
    70. int     _EXFUN(readlink, (const char *path, char *buf, size_t bufsiz));  
    71. int     _EXFUN(rmdir, (const char *__path ));  
    72. void *  _EXFUN(sbrk,  (ptrdiff_t __incr));  
    73. int     _EXFUN(setegid, (gid_t __gid ));  
    74. int     _EXFUN(seteuid, (uid_t __uid ));  
    75. int     _EXFUN(setgid, (gid_t __gid ));  
    76. int     _EXFUN(setpgid, (pid_t __pid, pid_t __pgid ));  
    77. int     _EXFUN(setpgrp, (void ));  
    78. pid_t   _EXFUN(setsid, (void ));  
    79. int     _EXFUN(setuid, (uid_t __uid ));  
    80. unsigned _EXFUN(sleep, (unsigned int __seconds ));  
    81. void    _EXFUN(swab, (const void *, void *, ssize_t));  
    82. int     _EXFUN(symlink, (const char *oldpath, const char *newpath));  
    83. long    _EXFUN(sysconf, (int __name ));  
    84. pid_t   _EXFUN(tcgetpgrp, (int __fildes ));  
    85. int     _EXFUN(tcsetpgrp, (int __fildes, pid_t __pgrp_id ));  
    86. int     _EXFUN(truncate, (const char *, off_t __length));  
    87. char *  _EXFUN(ttyname, (int __fildes ));  
    88. int     _EXFUN(ttyname_r, (int __fildes, char *__buf, size_t __len));  
    89. int     _EXFUN(unlink, (const char *__path ));  
    90. int     _EXFUN(usleep, (__useconds_t __useconds));  
    91. int     _EXFUN(vhangup, (void ));  
    92. _READ_WRITE_RETURN_TYPE _EXFUN(write, (int __fd, const void *__buf, size_t __nbyte ));  
    93. extern char *optarg;            /** getopt(3) external variables */  
    94. extern int optind, opterr, optopt;  
    95. int     getopt(int, char * const [], const char *);  
    96. extern int optreset;            /** getopt(3) external variable */  
    97. #ifndef        _POSIX_SOURCE  
    98. pid_t   _EXFUN(vfork, (void ));  
    99. extern char *suboptarg;            /** getsubopt(3) external variable */  
    100. int     getsubopt(char **, char * const *, char **);  
    101. #endif /** _POSIX_SOURCE */  
    102. /** Provide prototypes for most of the _<systemcall> names that are 
    103. provided in newlib for some compilers.  */  
    104. int     _EXFUN(_close, (int __fildes ));  
    105. pid_t   _EXFUN(_fork, (void ));  
    106. pid_t   _EXFUN(_getpid, (void ));  
    107. int     _EXFUN(_link, (const char *__path1, const char *__path2 ));  
    108. off_t   _EXFUN(_lseek, (int __fildes, off_t __offset, int __whence ));  
    109. _READ_WRITE_RETURN_TYPE _EXFUN(_read, (int __fd, void *__buf, size_t __nbyte ));  
    110. void *  _EXFUN(_sbrk,  (size_t __incr));  
    111. int     _EXFUN(_unlink, (const char *__path ));  
    112. _READ_WRITE_RETURN_TYPE _EXFUN(_write, (int __fd, const void *__buf, size_t __nbyte ));  
    113. int     _EXFUN(_execve, (const char *__path, char * const __argv[], char * const __envp[] ));  
    114. #define    F_OK    0  
    115. #define    R_OK    4  
    116. #define    W_OK    2  
    117. #define    X_OK    1  
    118. # define    SEEK_SET    0  
    119. # define    SEEK_CUR    1  
    120. # define    SEEK_END    2  
    121. #include <sys/features.h>  
    122. #define STDIN_FILENO    0       /** standard input file descriptor */  
    123. #define STDOUT_FILENO   1       /** standard output file descriptor */  
    124. #define STDERR_FILENO   2       /** standard error file descriptor */  
    125. #include <bits/environments.h>  
    126. #include <bits/confname.h>  
    127. # define        MAXPATHLEN      1024  
    128. #ifdef __cplusplus  
    129. }  
    130. #endif  
    131. #endif /** _SYS_UNISTD_H */  
  • 相关阅读:
    AJAX异步传输——以php文件传输为例
    js控制json生成菜单——自制菜单(一)
    vs2010中关于HTML控件与服务器控件分别和js函数混合使用的问题
    SQL数据库连接到服务器出错——无法连接到XXX
    PHP错误:Namespace declaration statement has to be the very first statement in the script
    【LeetCode】19. Remove Nth Node From End of List
    【LeetCode】14. Longest Common Prefix
    【LeetCode】38. Count and Say
    【LeetCode】242. Valid Anagram
    【LeetCode】387. First Unique Character in a String
  • 原文地址:https://www.cnblogs.com/lizhigang/p/7338490.html
Copyright © 2020-2023  润新知