logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

sys_select.h.0p (3527B)


  1. '\" et
  2. .TH sys_select.h "0P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
  3. .\"
  4. .SH PROLOG
  5. This manual page is part of the POSIX Programmer's Manual.
  6. The Linux implementation of this interface may differ (consult
  7. the corresponding Linux manual page for details of Linux behavior),
  8. or the interface may not be implemented on Linux.
  9. .\"
  10. .SH NAME
  11. sys/select.h
  12. \(em select types
  13. .SH SYNOPSIS
  14. .LP
  15. .nf
  16. #include <sys/select.h>
  17. .fi
  18. .SH DESCRIPTION
  19. The
  20. .IR <sys/select.h>
  21. header shall define the
  22. .BR timeval
  23. structure, which shall include at least the following members:
  24. .sp
  25. .RS 4
  26. .nf
  27. time_t tv_sec \fRSeconds.\fR
  28. suseconds_t tv_usec \fRMicroseconds.\fR
  29. .fi
  30. .P
  31. .RE
  32. .P
  33. The
  34. .IR <sys/select.h>
  35. header shall define the
  36. .BR time_t
  37. and
  38. .BR suseconds_t
  39. types as described in
  40. .IR <sys/types.h> .
  41. .P
  42. The
  43. .IR <sys/select.h>
  44. header shall define the
  45. .BR sigset_t
  46. type as described in
  47. .IR <signal.h> .
  48. .P
  49. The
  50. .IR <sys/select.h>
  51. header shall define the
  52. .BR timespec
  53. structure as described in
  54. .IR <time.h> .
  55. .P
  56. The
  57. .IR <sys/select.h>
  58. header shall define the
  59. .BR fd_set
  60. type as a structure.
  61. .P
  62. The
  63. .IR <sys/select.h>
  64. header shall define the following symbolic constant, which shall have
  65. a value suitable for use in
  66. .BR #if
  67. preprocessing directives:
  68. .IP FD_SETSIZE 12
  69. Maximum number of file descriptors in an
  70. .BR fd_set
  71. structure.
  72. .P
  73. The following shall be declared as functions, defined as macros, or
  74. both. If functions are declared, function prototypes shall be
  75. provided.
  76. .sp
  77. .RS 4
  78. .nf
  79. void FD_CLR(int, fd_set *);
  80. int FD_ISSET(int, fd_set *);
  81. void FD_SET(int, fd_set *);
  82. void FD_ZERO(fd_set *);
  83. .fi
  84. .P
  85. .RE
  86. .P
  87. If implemented as macros, these may evaluate their arguments more than
  88. once, so applications should ensure that the arguments they supply are
  89. never expressions with side-effects.
  90. .P
  91. The following shall be declared as functions and may also be defined as
  92. macros. Function prototypes shall be provided.
  93. .sp
  94. .RS 4
  95. .nf
  96. int pselect(int, fd_set *restrict, fd_set *restrict, fd_set *restrict,
  97. const struct timespec *restrict, const sigset_t *restrict);
  98. int select(int, fd_set *restrict, fd_set *restrict, fd_set *restrict,
  99. struct timeval *restrict);
  100. .fi
  101. .P
  102. .RE
  103. .P
  104. Inclusion of the
  105. .IR <sys/select.h>
  106. header may make visible all symbols from the headers
  107. .IR <signal.h>
  108. and
  109. .IR <time.h> .
  110. .LP
  111. .IR "The following sections are informative."
  112. .SH "APPLICATION USAGE"
  113. None.
  114. .SH RATIONALE
  115. None.
  116. .SH "FUTURE DIRECTIONS"
  117. None.
  118. .SH "SEE ALSO"
  119. .IR "\fB<signal.h>\fP",
  120. .IR "\fB<sys_time.h>\fP",
  121. .IR "\fB<sys_types.h>\fP",
  122. .IR "\fB<time.h>\fP"
  123. .P
  124. The System Interfaces volume of POSIX.1\(hy2017,
  125. .IR "\fIpselect\fR\^(\|)"
  126. .\"
  127. .SH COPYRIGHT
  128. Portions of this text are reprinted and reproduced in electronic form
  129. from IEEE Std 1003.1-2017, Standard for Information Technology
  130. -- Portable Operating System Interface (POSIX), The Open Group Base
  131. Specifications Issue 7, 2018 Edition,
  132. Copyright (C) 2018 by the Institute of
  133. Electrical and Electronics Engineers, Inc and The Open Group.
  134. In the event of any discrepancy between this version and the original IEEE and
  135. The Open Group Standard, the original IEEE and The Open Group Standard
  136. is the referee document. The original Standard can be obtained online at
  137. http://www.opengroup.org/unix/online.html .
  138. .PP
  139. Any typographical or formatting errors that appear
  140. in this page are most likely
  141. to have been introduced during the conversion of the source files to
  142. man page format. To report such errors, see
  143. https://www.kernel.org/doc/man-pages/reporting_bugs.html .