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

aio_cancel.3p (3690B)


  1. '\" et
  2. .TH AIO_CANCEL "3P" 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. aio_cancel
  12. \(em cancel an asynchronous I/O request
  13. .SH SYNOPSIS
  14. .LP
  15. .nf
  16. #include <aio.h>
  17. .P
  18. int aio_cancel(int \fIfildes\fP, struct aiocb *\fIaiocbp\fP);
  19. .fi
  20. .SH DESCRIPTION
  21. The
  22. \fIaio_cancel\fR()
  23. function shall attempt to cancel one or more asynchronous I/O requests
  24. currently outstanding against file descriptor
  25. .IR fildes .
  26. The
  27. .IR aiocbp
  28. argument points to the asynchronous I/O control block for a particular
  29. request to be canceled. If
  30. .IR aiocbp
  31. is NULL, then all outstanding cancelable asynchronous I/O requests
  32. against
  33. .IR fildes
  34. shall be canceled.
  35. .P
  36. Normal asynchronous notification shall occur for asynchronous I/O
  37. operations that are successfully canceled. If there are requests that
  38. cannot be canceled, then the normal asynchronous completion process
  39. shall take place for those requests when they are completed.
  40. .P
  41. For requested operations that are successfully canceled, the associated
  42. error status shall be set to
  43. .BR [ECANCELED]
  44. and the return status shall be \-1. For requested operations that are
  45. not successfully canceled, the
  46. .IR aiocbp
  47. shall not be modified by
  48. \fIaio_cancel\fR().
  49. .P
  50. If
  51. .IR aiocbp
  52. is not NULL, then if
  53. .IR fildes
  54. does not have the same value as the file descriptor with which the
  55. asynchronous operation was initiated, unspecified results occur.
  56. .P
  57. Which operations are cancelable is implementation-defined.
  58. .SH "RETURN VALUE"
  59. The
  60. \fIaio_cancel\fR()
  61. function shall return the value AIO_CANCELED
  62. if the requested operation(s) were canceled.
  63. The value AIO_NOTCANCELED
  64. shall be returned if at least one of the requested operation(s) cannot
  65. be canceled because it is in progress. In this case, the state of the
  66. other operations, if any, referenced in the call to
  67. \fIaio_cancel\fR()
  68. is not indicated by the return value of
  69. \fIaio_cancel\fR().
  70. The application may determine the state of affairs for these operations
  71. by using
  72. \fIaio_error\fR().
  73. The value AIO_ALLDONE
  74. is returned if all of the operations have already completed.
  75. Otherwise, the function shall return \-1 and set
  76. .IR errno
  77. to indicate the error.
  78. .SH ERRORS
  79. The
  80. \fIaio_cancel\fR()
  81. function shall fail if:
  82. .TP
  83. .BR EBADF
  84. The
  85. .IR fildes
  86. argument is not a valid file descriptor.
  87. .LP
  88. .IR "The following sections are informative."
  89. .SH EXAMPLES
  90. None.
  91. .SH "APPLICATION USAGE"
  92. None.
  93. .SH RATIONALE
  94. None.
  95. .SH "FUTURE DIRECTIONS"
  96. None.
  97. .SH "SEE ALSO"
  98. .IR "\fIaio_read\fR\^(\|)",
  99. .IR "\fIaio_write\fR\^(\|)"
  100. .P
  101. The Base Definitions volume of POSIX.1\(hy2017,
  102. .IR "\fB<aio.h>\fP"
  103. .\"
  104. .SH COPYRIGHT
  105. Portions of this text are reprinted and reproduced in electronic form
  106. from IEEE Std 1003.1-2017, Standard for Information Technology
  107. -- Portable Operating System Interface (POSIX), The Open Group Base
  108. Specifications Issue 7, 2018 Edition,
  109. Copyright (C) 2018 by the Institute of
  110. Electrical and Electronics Engineers, Inc and The Open Group.
  111. In the event of any discrepancy between this version and the original IEEE and
  112. The Open Group Standard, the original IEEE and The Open Group Standard
  113. is the referee document. The original Standard can be obtained online at
  114. http://www.opengroup.org/unix/online.html .
  115. .PP
  116. Any typographical or formatting errors that appear
  117. in this page are most likely
  118. to have been introduced during the conversion of the source files to
  119. man page format. To report such errors, see
  120. https://www.kernel.org/doc/man-pages/reporting_bugs.html .