This source file includes following definitions.
- process_vm_readv
- process_vm_writev
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 #ifndef PMIX_SYS_CMA_H
  20 #define PMIX_SYS_CMA_H 1
  21 
  22 #if !defined(PMIX_ASSEMBLY_ARCH)
  23 
  24 #include "pmix_config.h"
  25 #endif
  26 
  27 #include "src/atomics/sys/architecture.h"
  28 
  29 #ifdef HAVE_SYS_TYPES_H
  30 #include <sys/types.h>
  31 #endif
  32 
  33 #ifdef HAVE_UNISTD_H
  34 #include <sys/unistd.h>
  35 #endif
  36 
  37 #ifdef __linux__
  38 
  39 
  40 
  41 #if PMIX_ASSEMBLY_ARCH == PMIX_X86_64
  42 #define __NR_process_vm_readv 310
  43 #define __NR_process_vm_writev 311
  44 #elif PMIX_ASSEMBLY_ARCH == PMIX_IA32
  45 #define __NR_process_vm_readv 347
  46 #define __NR_process_vm_writev 348
  47 #elif PMIX_ASSEMBLY_ARCH == PMIX_IA64
  48 #define __NR_process_vm_readv 1332
  49 #define __NR_process_vm_writev 1333
  50 #elif PMIX_ASSEMBLY_ARCH == PMIX_POWERPC32
  51 #define __NR_process_vm_readv 351
  52 #define __NR_process_vm_writev 352
  53 #elif PMIX_ASSEMBLY_ARCH == PMIX_POWERPC64
  54 #define __NR_process_vm_readv 351
  55 #define __NR_process_vm_writev 352
  56 #elif PMIX_ASSEMBLY_ARCH == PMIX_ARM
  57 
  58 #define __NR_process_vm_readv 376
  59 #define __NR_process_vm_writev 377
  60 
  61 #elif PMIX_ASSEMBLY_ARCH == PMIX_ARM64
  62 
  63 
  64 
  65 #define __NR_process_vm_readv 270
  66 #define __NR_process_vm_writev 271
  67 
  68 #elif PMIX_ASSEMBLY_ARCH == PMIX_MIPS
  69 
  70 #if _MIPS_SIM == _MIPS_SIM_ABI64
  71 
  72 #define __NR_process_vm_readv 5304
  73 #define __NR_process_vm_writev 5305
  74 
  75 #elif _MIPS_SIM == _MIPS_SIM_NABI32
  76 
  77 #define __NR_process_vm_readv 6309
  78 #define __NR_process_vm_writev 6310
  79 
  80 #else
  81 
  82 #error "Unsupported MIPS architecture for process_vm_readv and process_vm_writev syscalls"
  83 
  84 #endif
  85 
  86 #elif PMIX_ASSEMBLY_ARCH == PMIX_S390
  87 
  88 #define __NR_process_vm_readv   340
  89 #define __NR_process_vm_writev  341
  90 
  91 #elif PMIX_ASSEMBLY_ARCH == PMIX_S390X
  92 
  93 #define __NR_process_vm_readv   340
  94 #define __NR_process_vm_writev  341
  95 
  96 #else
  97 #error "Unsupported architecture for process_vm_readv and process_vm_writev syscalls"
  98 #endif
  99 
 100 
 101 static inline ssize_t
 102 process_vm_readv(pid_t pid,
 103                  const struct iovec  *lvec,
 104                  unsigned long liovcnt,
 105                  const struct iovec *rvec,
 106                  unsigned long riovcnt,
 107                  unsigned long flags)
 108 {
 109   return syscall(__NR_process_vm_readv, pid, lvec, liovcnt, rvec, riovcnt, flags);
 110 }
 111 
 112 static inline ssize_t
 113 process_vm_writev(pid_t pid,
 114                   const struct iovec  *lvec,
 115                   unsigned long liovcnt,
 116                   const struct iovec *rvec,
 117                   unsigned long riovcnt,
 118                   unsigned long flags)
 119 {
 120   return syscall(__NR_process_vm_writev, pid, lvec, liovcnt, rvec, riovcnt, flags);
 121 }
 122 
 123 #endif 
 124 
 125 #endif