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_uio.h.0p (2925B)


  1. '\" et
  2. .TH sys_uio.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/uio.h
  12. \(em definitions for vector I/O operations
  13. .SH SYNOPSIS
  14. .LP
  15. .nf
  16. #include <sys/uio.h>
  17. .fi
  18. .SH DESCRIPTION
  19. The
  20. .IR <sys/uio.h>
  21. header shall define the
  22. .BR iovec
  23. structure, which shall include at least the following members:
  24. .sp
  25. .RS 4
  26. .nf
  27. void *iov_base \fRBase address of a memory region for input or output.\fR
  28. size_t iov_len \fRThe size of the memory pointed to by \fIiov_base.\fR
  29. .fi
  30. .P
  31. .RE
  32. .P
  33. The
  34. .IR <sys/uio.h>
  35. header uses the
  36. .BR iovec
  37. structure for scatter/gather I/O.
  38. .P
  39. The
  40. .IR <sys/uio.h>
  41. header shall define the
  42. .BR ssize_t
  43. and
  44. .BR size_t
  45. types as described in
  46. .IR <sys/types.h> .
  47. .P
  48. The following shall be declared as functions and may also be defined
  49. as macros. Function prototypes shall be provided.
  50. .sp
  51. .RS 4
  52. .nf
  53. ssize_t readv(int, const struct iovec *, int);
  54. ssize_t writev(int, const struct iovec *, int);
  55. .fi
  56. .P
  57. .RE
  58. .LP
  59. .IR "The following sections are informative."
  60. .SH "APPLICATION USAGE"
  61. The implementation can put a limit on the number of scatter/gather
  62. elements which can be processed in one call. The symbol
  63. {IOV_MAX}
  64. defined in
  65. .IR <limits.h>
  66. should always be used to learn about the limits instead of assuming a
  67. fixed value.
  68. .SH RATIONALE
  69. Traditionally, the maximum number of scatter/gather elements the system
  70. can process in one call were described by the symbolic value
  71. {UIO_MAXIOV}.
  72. In IEEE\ Std\ 1003.1\(hy2001 this value is replaced by the constant
  73. {IOV_MAX}
  74. which can be found in
  75. .IR <limits.h> .
  76. .SH "FUTURE DIRECTIONS"
  77. None.
  78. .SH "SEE ALSO"
  79. .IR "\fB<limits.h>\fP",
  80. .IR "\fB<sys_types.h>\fP"
  81. .P
  82. The System Interfaces volume of POSIX.1\(hy2017,
  83. .IR "\fIread\fR\^(\|)",
  84. .IR "\fIreadv\fR\^(\|)",
  85. .IR "\fIwrite\fR\^(\|)",
  86. .IR "\fIwritev\fR\^(\|)"
  87. .\"
  88. .SH COPYRIGHT
  89. Portions of this text are reprinted and reproduced in electronic form
  90. from IEEE Std 1003.1-2017, Standard for Information Technology
  91. -- Portable Operating System Interface (POSIX), The Open Group Base
  92. Specifications Issue 7, 2018 Edition,
  93. Copyright (C) 2018 by the Institute of
  94. Electrical and Electronics Engineers, Inc and The Open Group.
  95. In the event of any discrepancy between this version and the original IEEE and
  96. The Open Group Standard, the original IEEE and The Open Group Standard
  97. is the referee document. The original Standard can be obtained online at
  98. http://www.opengroup.org/unix/online.html .
  99. .PP
  100. Any typographical or formatting errors that appear
  101. in this page are most likely
  102. to have been introduced during the conversion of the source files to
  103. man page format. To report such errors, see
  104. https://www.kernel.org/doc/man-pages/reporting_bugs.html .