uio.h raw

   1  #ifndef _SYS_UIO_H
   2  #define _SYS_UIO_H
   3  
   4  #ifdef __cplusplus
   5  extern "C" {
   6  #endif
   7  
   8  #include <features.h>
   9  
  10  #define __NEED_size_t
  11  #define __NEED_ssize_t
  12  #define __NEED_struct_iovec
  13  
  14  #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
  15  #define __NEED_off_t
  16  #endif
  17  
  18  #ifdef _GNU_SOURCE
  19  #define __NEED_pid_t
  20  #endif
  21  
  22  #include <bits/alltypes.h>
  23  
  24  #define UIO_MAXIOV 1024
  25  
  26  ssize_t readv (int, const struct iovec *, int);
  27  ssize_t writev (int, const struct iovec *, int);
  28  
  29  #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
  30  ssize_t preadv (int, const struct iovec *, int, off_t);
  31  ssize_t pwritev (int, const struct iovec *, int, off_t);
  32  #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
  33  #define preadv64 preadv
  34  #define pwritev64 pwritev
  35  #define off64_t off_t
  36  #endif
  37  #endif
  38  
  39  #ifdef _GNU_SOURCE
  40  ssize_t process_vm_writev(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long);
  41  ssize_t process_vm_readv(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long);
  42  #endif
  43  
  44  #ifdef __cplusplus
  45  }
  46  #endif
  47  
  48  #endif
  49