uio-ext.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /* Operating system-specific extensions to sys/uio.h - Linux version.
  2. Copyright (C) 1996-2021 Free Software Foundation, Inc.
  3. This file is part of the GNU C Library.
  4. The GNU C Library is free software; you can redistribute it and/or
  5. modify it under the terms of the GNU Lesser General Public
  6. License as published by the Free Software Foundation; either
  7. version 2.1 of the License, or (at your option) any later version.
  8. The GNU C Library is distributed in the hope that it will be useful,
  9. but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  11. Lesser General Public License for more details.
  12. You should have received a copy of the GNU Lesser General Public
  13. License along with the GNU C Library; if not, see
  14. <https://www.gnu.org/licenses/>. */
  15. #ifndef _BITS_UIO_EXT_H
  16. #define _BITS_UIO_EXT_H 1
  17. #ifndef _SYS_UIO_H
  18. # error "Never include <bits/uio-ext.h> directly; use <sys/uio.h> instead."
  19. #endif
  20. __BEGIN_DECLS
  21. /* Read from another process' address space. */
  22. extern ssize_t process_vm_readv (pid_t __pid, const struct iovec *__lvec,
  23. unsigned long int __liovcnt,
  24. const struct iovec *__rvec,
  25. unsigned long int __riovcnt,
  26. unsigned long int __flags)
  27. __THROW;
  28. /* Write to another process' address space. */
  29. extern ssize_t process_vm_writev (pid_t __pid, const struct iovec *__lvec,
  30. unsigned long int __liovcnt,
  31. const struct iovec *__rvec,
  32. unsigned long int __riovcnt,
  33. unsigned long int __flags)
  34. __THROW;
  35. /* Flags for preadv2/pwritev2. */
  36. #define RWF_HIPRI 0x00000001 /* High priority request. */
  37. #define RWF_DSYNC 0x00000002 /* per-IO O_DSYNC. */
  38. #define RWF_SYNC 0x00000004 /* per-IO O_SYNC. */
  39. #define RWF_NOWAIT 0x00000008 /* per-IO nonblocking mode. */
  40. #define RWF_APPEND 0x00000010 /* per-IO O_APPEND. */
  41. __END_DECLS
  42. #endif /* bits/uio-ext.h */