Edit File by line
/home/barbar84/public_h.../wp-conte.../plugins/sujqvwi/ShExBy/shex_roo.../usr/include
File: aio.h
/* Copyright (C) 1996-2018 Free Software Foundation, Inc.
[0] Fix | Delete
This file is part of the GNU C Library.
[1] Fix | Delete
[2] Fix | Delete
The GNU C Library is free software; you can redistribute it and/or
[3] Fix | Delete
modify it under the terms of the GNU Lesser General Public
[4] Fix | Delete
License as published by the Free Software Foundation; either
[5] Fix | Delete
version 2.1 of the License, or (at your option) any later version.
[6] Fix | Delete
[7] Fix | Delete
The GNU C Library is distributed in the hope that it will be useful,
[8] Fix | Delete
but WITHOUT ANY WARRANTY; without even the implied warranty of
[9] Fix | Delete
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
[10] Fix | Delete
Lesser General Public License for more details.
[11] Fix | Delete
[12] Fix | Delete
You should have received a copy of the GNU Lesser General Public
[13] Fix | Delete
License along with the GNU C Library; if not, see
[14] Fix | Delete
<http://www.gnu.org/licenses/>. */
[15] Fix | Delete
[16] Fix | Delete
/*
[17] Fix | Delete
* ISO/IEC 9945-1:1996 6.7: Asynchronous Input and Output
[18] Fix | Delete
*/
[19] Fix | Delete
[20] Fix | Delete
#ifndef _AIO_H
[21] Fix | Delete
#define _AIO_H 1
[22] Fix | Delete
[23] Fix | Delete
#include <features.h>
[24] Fix | Delete
#include <sys/types.h>
[25] Fix | Delete
#include <bits/types/sigevent_t.h>
[26] Fix | Delete
#include <bits/sigevent-consts.h>
[27] Fix | Delete
#include <bits/types/struct_timespec.h>
[28] Fix | Delete
[29] Fix | Delete
__BEGIN_DECLS
[30] Fix | Delete
[31] Fix | Delete
/* Asynchronous I/O control block. */
[32] Fix | Delete
struct aiocb
[33] Fix | Delete
{
[34] Fix | Delete
int aio_fildes; /* File desriptor. */
[35] Fix | Delete
int aio_lio_opcode; /* Operation to be performed. */
[36] Fix | Delete
int aio_reqprio; /* Request priority offset. */
[37] Fix | Delete
volatile void *aio_buf; /* Location of buffer. */
[38] Fix | Delete
size_t aio_nbytes; /* Length of transfer. */
[39] Fix | Delete
struct sigevent aio_sigevent; /* Signal number and value. */
[40] Fix | Delete
[41] Fix | Delete
/* Internal members. */
[42] Fix | Delete
struct aiocb *__next_prio;
[43] Fix | Delete
int __abs_prio;
[44] Fix | Delete
int __policy;
[45] Fix | Delete
int __error_code;
[46] Fix | Delete
__ssize_t __return_value;
[47] Fix | Delete
[48] Fix | Delete
#ifndef __USE_FILE_OFFSET64
[49] Fix | Delete
__off_t aio_offset; /* File offset. */
[50] Fix | Delete
char __pad[sizeof (__off64_t) - sizeof (__off_t)];
[51] Fix | Delete
#else
[52] Fix | Delete
__off64_t aio_offset; /* File offset. */
[53] Fix | Delete
#endif
[54] Fix | Delete
char __glibc_reserved[32];
[55] Fix | Delete
};
[56] Fix | Delete
[57] Fix | Delete
/* The same for the 64bit offsets. Please note that the members aio_fildes
[58] Fix | Delete
to __return_value have to be the same in aiocb and aiocb64. */
[59] Fix | Delete
#ifdef __USE_LARGEFILE64
[60] Fix | Delete
struct aiocb64
[61] Fix | Delete
{
[62] Fix | Delete
int aio_fildes; /* File desriptor. */
[63] Fix | Delete
int aio_lio_opcode; /* Operation to be performed. */
[64] Fix | Delete
int aio_reqprio; /* Request priority offset. */
[65] Fix | Delete
volatile void *aio_buf; /* Location of buffer. */
[66] Fix | Delete
size_t aio_nbytes; /* Length of transfer. */
[67] Fix | Delete
struct sigevent aio_sigevent; /* Signal number and value. */
[68] Fix | Delete
[69] Fix | Delete
/* Internal members. */
[70] Fix | Delete
struct aiocb *__next_prio;
[71] Fix | Delete
int __abs_prio;
[72] Fix | Delete
int __policy;
[73] Fix | Delete
int __error_code;
[74] Fix | Delete
__ssize_t __return_value;
[75] Fix | Delete
[76] Fix | Delete
__off64_t aio_offset; /* File offset. */
[77] Fix | Delete
char __glibc_reserved[32];
[78] Fix | Delete
};
[79] Fix | Delete
#endif
[80] Fix | Delete
[81] Fix | Delete
[82] Fix | Delete
#ifdef __USE_GNU
[83] Fix | Delete
/* To customize the implementation one can use the following struct.
[84] Fix | Delete
This implementation follows the one in Irix. */
[85] Fix | Delete
struct aioinit
[86] Fix | Delete
{
[87] Fix | Delete
int aio_threads; /* Maximal number of threads. */
[88] Fix | Delete
int aio_num; /* Number of expected simultanious requests. */
[89] Fix | Delete
int aio_locks; /* Not used. */
[90] Fix | Delete
int aio_usedba; /* Not used. */
[91] Fix | Delete
int aio_debug; /* Not used. */
[92] Fix | Delete
int aio_numusers; /* Not used. */
[93] Fix | Delete
int aio_idle_time; /* Number of seconds before idle thread
[94] Fix | Delete
terminates. */
[95] Fix | Delete
int aio_reserved;
[96] Fix | Delete
};
[97] Fix | Delete
#endif
[98] Fix | Delete
[99] Fix | Delete
[100] Fix | Delete
/* Return values of cancelation function. */
[101] Fix | Delete
enum
[102] Fix | Delete
{
[103] Fix | Delete
AIO_CANCELED,
[104] Fix | Delete
#define AIO_CANCELED AIO_CANCELED
[105] Fix | Delete
AIO_NOTCANCELED,
[106] Fix | Delete
#define AIO_NOTCANCELED AIO_NOTCANCELED
[107] Fix | Delete
AIO_ALLDONE
[108] Fix | Delete
#define AIO_ALLDONE AIO_ALLDONE
[109] Fix | Delete
};
[110] Fix | Delete
[111] Fix | Delete
[112] Fix | Delete
/* Operation codes for `aio_lio_opcode'. */
[113] Fix | Delete
enum
[114] Fix | Delete
{
[115] Fix | Delete
LIO_READ,
[116] Fix | Delete
#define LIO_READ LIO_READ
[117] Fix | Delete
LIO_WRITE,
[118] Fix | Delete
#define LIO_WRITE LIO_WRITE
[119] Fix | Delete
LIO_NOP
[120] Fix | Delete
#define LIO_NOP LIO_NOP
[121] Fix | Delete
};
[122] Fix | Delete
[123] Fix | Delete
[124] Fix | Delete
/* Synchronization options for `lio_listio' function. */
[125] Fix | Delete
enum
[126] Fix | Delete
{
[127] Fix | Delete
LIO_WAIT,
[128] Fix | Delete
#define LIO_WAIT LIO_WAIT
[129] Fix | Delete
LIO_NOWAIT
[130] Fix | Delete
#define LIO_NOWAIT LIO_NOWAIT
[131] Fix | Delete
};
[132] Fix | Delete
[133] Fix | Delete
[134] Fix | Delete
/* Allow user to specify optimization. */
[135] Fix | Delete
#ifdef __USE_GNU
[136] Fix | Delete
extern void aio_init (const struct aioinit *__init) __THROW __nonnull ((1));
[137] Fix | Delete
#endif
[138] Fix | Delete
[139] Fix | Delete
[140] Fix | Delete
#ifndef __USE_FILE_OFFSET64
[141] Fix | Delete
/* Enqueue read request for given number of bytes and the given priority. */
[142] Fix | Delete
extern int aio_read (struct aiocb *__aiocbp) __THROW __nonnull ((1));
[143] Fix | Delete
/* Enqueue write request for given number of bytes and the given priority. */
[144] Fix | Delete
extern int aio_write (struct aiocb *__aiocbp) __THROW __nonnull ((1));
[145] Fix | Delete
[146] Fix | Delete
/* Initiate list of I/O requests. */
[147] Fix | Delete
extern int lio_listio (int __mode,
[148] Fix | Delete
struct aiocb *const __list[__restrict_arr],
[149] Fix | Delete
int __nent, struct sigevent *__restrict __sig)
[150] Fix | Delete
__THROW __nonnull ((2));
[151] Fix | Delete
[152] Fix | Delete
/* Retrieve error status associated with AIOCBP. */
[153] Fix | Delete
extern int aio_error (const struct aiocb *__aiocbp) __THROW __nonnull ((1));
[154] Fix | Delete
/* Return status associated with AIOCBP. */
[155] Fix | Delete
extern __ssize_t aio_return (struct aiocb *__aiocbp) __THROW __nonnull ((1));
[156] Fix | Delete
[157] Fix | Delete
/* Try to cancel asynchronous I/O requests outstanding against file
[158] Fix | Delete
descriptor FILDES. */
[159] Fix | Delete
extern int aio_cancel (int __fildes, struct aiocb *__aiocbp) __THROW;
[160] Fix | Delete
[161] Fix | Delete
/* Suspend calling thread until at least one of the asynchronous I/O
[162] Fix | Delete
operations referenced by LIST has completed.
[163] Fix | Delete
[164] Fix | Delete
This function is a cancellation point and therefore not marked with
[165] Fix | Delete
__THROW. */
[166] Fix | Delete
extern int aio_suspend (const struct aiocb *const __list[], int __nent,
[167] Fix | Delete
const struct timespec *__restrict __timeout)
[168] Fix | Delete
__nonnull ((1));
[169] Fix | Delete
[170] Fix | Delete
/* Force all operations associated with file desriptor described by
[171] Fix | Delete
`aio_fildes' member of AIOCBP. */
[172] Fix | Delete
extern int aio_fsync (int __operation, struct aiocb *__aiocbp)
[173] Fix | Delete
__THROW __nonnull ((2));
[174] Fix | Delete
#else
[175] Fix | Delete
# ifdef __REDIRECT_NTH
[176] Fix | Delete
extern int __REDIRECT_NTH (aio_read, (struct aiocb *__aiocbp), aio_read64)
[177] Fix | Delete
__nonnull ((1));
[178] Fix | Delete
extern int __REDIRECT_NTH (aio_write, (struct aiocb *__aiocbp), aio_write64)
[179] Fix | Delete
__nonnull ((1));
[180] Fix | Delete
[181] Fix | Delete
extern int __REDIRECT_NTH (lio_listio,
[182] Fix | Delete
(int __mode,
[183] Fix | Delete
struct aiocb *const __list[__restrict_arr],
[184] Fix | Delete
int __nent, struct sigevent *__restrict __sig),
[185] Fix | Delete
lio_listio64) __nonnull ((2));
[186] Fix | Delete
[187] Fix | Delete
extern int __REDIRECT_NTH (aio_error, (const struct aiocb *__aiocbp),
[188] Fix | Delete
aio_error64) __nonnull ((1));
[189] Fix | Delete
extern __ssize_t __REDIRECT_NTH (aio_return, (struct aiocb *__aiocbp),
[190] Fix | Delete
aio_return64) __nonnull ((1));
[191] Fix | Delete
[192] Fix | Delete
extern int __REDIRECT_NTH (aio_cancel,
[193] Fix | Delete
(int __fildes, struct aiocb *__aiocbp),
[194] Fix | Delete
aio_cancel64);
[195] Fix | Delete
[196] Fix | Delete
extern int __REDIRECT_NTH (aio_suspend,
[197] Fix | Delete
(const struct aiocb *const __list[], int __nent,
[198] Fix | Delete
const struct timespec *__restrict __timeout),
[199] Fix | Delete
aio_suspend64) __nonnull ((1));
[200] Fix | Delete
[201] Fix | Delete
extern int __REDIRECT_NTH (aio_fsync,
[202] Fix | Delete
(int __operation, struct aiocb *__aiocbp),
[203] Fix | Delete
aio_fsync64) __nonnull ((2));
[204] Fix | Delete
[205] Fix | Delete
# else
[206] Fix | Delete
# define aio_read aio_read64
[207] Fix | Delete
# define aio_write aio_write64
[208] Fix | Delete
# define lio_listio lio_listio64
[209] Fix | Delete
# define aio_error aio_error64
[210] Fix | Delete
# define aio_return aio_return64
[211] Fix | Delete
# define aio_cancel aio_cancel64
[212] Fix | Delete
# define aio_suspend aio_suspend64
[213] Fix | Delete
# define aio_fsync aio_fsync64
[214] Fix | Delete
# endif
[215] Fix | Delete
#endif
[216] Fix | Delete
[217] Fix | Delete
#ifdef __USE_LARGEFILE64
[218] Fix | Delete
extern int aio_read64 (struct aiocb64 *__aiocbp) __THROW __nonnull ((1));
[219] Fix | Delete
extern int aio_write64 (struct aiocb64 *__aiocbp) __THROW __nonnull ((1));
[220] Fix | Delete
[221] Fix | Delete
extern int lio_listio64 (int __mode,
[222] Fix | Delete
struct aiocb64 *const __list[__restrict_arr],
[223] Fix | Delete
int __nent, struct sigevent *__restrict __sig)
[224] Fix | Delete
__THROW __nonnull ((2));
[225] Fix | Delete
[226] Fix | Delete
extern int aio_error64 (const struct aiocb64 *__aiocbp)
[227] Fix | Delete
__THROW __nonnull ((1));
[228] Fix | Delete
extern __ssize_t aio_return64 (struct aiocb64 *__aiocbp)
[229] Fix | Delete
__THROW __nonnull ((1));
[230] Fix | Delete
[231] Fix | Delete
extern int aio_cancel64 (int __fildes, struct aiocb64 *__aiocbp) __THROW;
[232] Fix | Delete
[233] Fix | Delete
extern int aio_suspend64 (const struct aiocb64 *const __list[], int __nent,
[234] Fix | Delete
const struct timespec *__restrict __timeout)
[235] Fix | Delete
__THROW __nonnull ((1));
[236] Fix | Delete
[237] Fix | Delete
extern int aio_fsync64 (int __operation, struct aiocb64 *__aiocbp)
[238] Fix | Delete
__THROW __nonnull ((2));
[239] Fix | Delete
#endif
[240] Fix | Delete
[241] Fix | Delete
__END_DECLS
[242] Fix | Delete
[243] Fix | Delete
#endif /* aio.h */
[244] Fix | Delete
[245] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function