• 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 */  
  • 相关阅读:
    网页对ipad iphone 的样式支持
    Url Properties of SPSite and SPWeb
    vs 2010 中添加 代码模板,动态生成创建时间,创建作者等信息
    明确工作目标,提升工作效率的利器Momentum插件
    与父亲相处的无奈
    VS2012一打开就停止工作的解决方法
    关于SQL Server 中连接查询Join的几种常见用法
    CSS零基础学习笔记.
    SQL Server2014,附加数据库失败,错误为:5120的解决方法
    C#Abstract抽象类的语法
  • 原文地址:https://www.cnblogs.com/lizhigang/p/7338490.html
Copyright © 2020-2023  润新知