Elliott Hughes | c187376 | 2018-12-19 15:13:36 -0800 | [diff] [blame] | 1 | /* Generated by Makefile from block.c.mpers.i btrfs.c.mpers.i dirent.c.mpers.i evdev_mpers.c.mpers.i fetch_bpf_fprog.c.mpers.i fetch_struct_flock.c.mpers.i fetch_struct_keyctl_kdf_params.c.mpers.i fetch_struct_mmsghdr.c.mpers.i fetch_struct_msghdr.c.mpers.i fetch_struct_stat.c.mpers.i fetch_struct_stat64.c.mpers.i fetch_struct_statfs.c.mpers.i fetch_struct_xfs_quotastat.c.mpers.i hdio.c.mpers.i ipc_msgctl.c.mpers.i ipc_shmctl.c.mpers.i loop.c.mpers.i mtd.c.mpers.i perf_ioctl.c.mpers.i print_aio_sigset.c.mpers.i print_group_req.c.mpers.i print_mq_attr.c.mpers.i print_msgbuf.c.mpers.i print_sg_req_info.c.mpers.i print_sigevent.c.mpers.i print_time.c.mpers.i print_timespec.c.mpers.i print_timeval.c.mpers.i print_timex.c.mpers.i printrusage.c.mpers.i printsiginfo.c.mpers.i rt_sigreturn.c.mpers.i rtc.c.mpers.i sg_io_v3.c.mpers.i sigaltstack.c.mpers.i sock.c.mpers.i sysinfo.c.mpers.i times.c.mpers.i ustat.c.mpers.i utime.c.mpers.i v4l2.c.mpers.i; do not edit. */ |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 2 | typedef struct { |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 3 | int (*block_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); |
Elliott Hughes | a618f75 | 2016-06-02 21:04:08 -0700 | [diff] [blame] | 4 | #define block_ioctl MPERS_PRINTER_NAME(block_ioctl) |
| 5 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 6 | int (*btrfs_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); |
Elliott Hughes | a618f75 | 2016-06-02 21:04:08 -0700 | [diff] [blame] | 7 | #define btrfs_ioctl MPERS_PRINTER_NAME(btrfs_ioctl) |
| 8 | |
Elliott Hughes | 28e98bc | 2018-06-14 16:59:04 -0700 | [diff] [blame] | 9 | int (*evdev_write_ioctl_mpers)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); |
| 10 | #define evdev_write_ioctl_mpers MPERS_PRINTER_NAME(evdev_write_ioctl_mpers) |
Elliott Hughes | a618f75 | 2016-06-02 21:04:08 -0700 | [diff] [blame] | 11 | |
Elliott Hughes | 77c3ff8 | 2017-09-08 17:11:00 -0700 | [diff] [blame] | 12 | unsigned int (*get_sock_fprog_size)(void); |
| 13 | #define get_sock_fprog_size MPERS_PRINTER_NAME(get_sock_fprog_size) |
| 14 | |
| 15 | _Bool (*fetch_bpf_fprog)(struct tcb *const tcp, const kernel_ulong_t addr, void *const p); |
| 16 | #define fetch_bpf_fprog MPERS_PRINTER_NAME(fetch_bpf_fprog) |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 17 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 18 | _Bool (*fetch_struct_flock)(struct tcb *const tcp, const kernel_ulong_t addr, void *const p); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 19 | #define fetch_struct_flock MPERS_PRINTER_NAME(fetch_struct_flock) |
| 20 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 21 | _Bool (*fetch_struct_flock64)(struct tcb *const tcp, const kernel_ulong_t addr, void *const p); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 22 | #define fetch_struct_flock64 MPERS_PRINTER_NAME(fetch_struct_flock64) |
| 23 | |
Elliott Hughes | 77c3ff8 | 2017-09-08 17:11:00 -0700 | [diff] [blame] | 24 | int (*fetch_keyctl_kdf_params)(struct tcb *const tcp, kernel_ulong_t addr, struct strace_keyctl_kdf_params *p); |
| 25 | #define fetch_keyctl_kdf_params MPERS_PRINTER_NAME(fetch_keyctl_kdf_params) |
| 26 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 27 | int (*fetch_struct_mmsghdr)(struct tcb *const tcp, const kernel_ulong_t addr, void *const p); |
Elliott Hughes | 3779679 | 2016-07-27 15:02:55 -0700 | [diff] [blame] | 28 | #define fetch_struct_mmsghdr MPERS_PRINTER_NAME(fetch_struct_mmsghdr) |
| 29 | |
| 30 | unsigned int (*sizeof_struct_mmsghdr)(void); |
| 31 | #define sizeof_struct_mmsghdr MPERS_PRINTER_NAME(sizeof_struct_mmsghdr) |
| 32 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 33 | int (*fetch_struct_msghdr)(struct tcb *const tcp, const kernel_ulong_t addr, void *const p); |
Elliott Hughes | 3779679 | 2016-07-27 15:02:55 -0700 | [diff] [blame] | 34 | #define fetch_struct_msghdr MPERS_PRINTER_NAME(fetch_struct_msghdr) |
| 35 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 36 | _Bool (*fetch_struct_stat)(struct tcb *const tcp, const kernel_ulong_t addr, struct strace_stat *const dst); |
Elliott Hughes | 00604d9 | 2016-10-04 14:50:29 -0700 | [diff] [blame] | 37 | #define fetch_struct_stat MPERS_PRINTER_NAME(fetch_struct_stat) |
| 38 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 39 | _Bool (*fetch_struct_stat64)(struct tcb *const tcp, const kernel_ulong_t addr, struct strace_stat *const dst); |
Elliott Hughes | 00604d9 | 2016-10-04 14:50:29 -0700 | [diff] [blame] | 40 | #define fetch_struct_stat64 MPERS_PRINTER_NAME(fetch_struct_stat64) |
| 41 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 42 | _Bool (*fetch_struct_statfs)(struct tcb *const tcp, const kernel_ulong_t addr, struct strace_statfs *const p); |
Elliott Hughes | a618f75 | 2016-06-02 21:04:08 -0700 | [diff] [blame] | 43 | #define fetch_struct_statfs MPERS_PRINTER_NAME(fetch_struct_statfs) |
| 44 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 45 | _Bool (*fetch_struct_statfs64)(struct tcb *const tcp, const kernel_ulong_t addr, const kernel_ulong_t size, struct strace_statfs *const p); |
Elliott Hughes | a618f75 | 2016-06-02 21:04:08 -0700 | [diff] [blame] | 46 | #define fetch_struct_statfs64 MPERS_PRINTER_NAME(fetch_struct_statfs64) |
| 47 | |
Elliott Hughes | c187376 | 2018-12-19 15:13:36 -0800 | [diff] [blame] | 48 | _Bool (*fetch_struct_quotastat)(struct tcb *const tcp, const kernel_ulong_t data, void *p); |
| 49 | #define fetch_struct_quotastat MPERS_PRINTER_NAME(fetch_struct_quotastat) |
| 50 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 51 | int (*hdio_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); |
Elliott Hughes | a618f75 | 2016-06-02 21:04:08 -0700 | [diff] [blame] | 52 | #define hdio_ioctl MPERS_PRINTER_NAME(hdio_ioctl) |
| 53 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 54 | int (*loop_ioctl)(struct tcb *tcp, const unsigned int code, const kernel_ulong_t arg); |
| 55 | #define loop_ioctl MPERS_PRINTER_NAME(loop_ioctl) |
| 56 | |
| 57 | int (*mtd_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); |
Elliott Hughes | a618f75 | 2016-06-02 21:04:08 -0700 | [diff] [blame] | 58 | #define mtd_ioctl MPERS_PRINTER_NAME(mtd_ioctl) |
| 59 | |
Elliott Hughes | 03a418e | 2018-06-15 13:11:40 -0700 | [diff] [blame] | 60 | int (*perf_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); |
| 61 | #define perf_ioctl MPERS_PRINTER_NAME(perf_ioctl) |
| 62 | |
| 63 | void (*print_aio_sigset)(struct tcb *tcp, const kernel_ulong_t addr); |
| 64 | #define print_aio_sigset MPERS_PRINTER_NAME(print_aio_sigset) |
| 65 | |
Elliott Hughes | 77c3ff8 | 2017-09-08 17:11:00 -0700 | [diff] [blame] | 66 | void (*print_group_req)(struct tcb *const tcp, const kernel_ulong_t addr, const int len); |
| 67 | #define print_group_req MPERS_PRINTER_NAME(print_group_req) |
| 68 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 69 | void (*printmqattr)(struct tcb *const tcp, const kernel_ulong_t addr, const _Bool decode_flags); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 70 | #define printmqattr MPERS_PRINTER_NAME(printmqattr) |
| 71 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 72 | void (*tprint_msgbuf)(struct tcb *const tcp, const kernel_ulong_t addr, const kernel_ulong_t count); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 73 | #define tprint_msgbuf MPERS_PRINTER_NAME(tprint_msgbuf) |
| 74 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 75 | int (*decode_sg_req_info)(struct tcb *const tcp, const kernel_ulong_t arg); |
| 76 | #define decode_sg_req_info MPERS_PRINTER_NAME(decode_sg_req_info) |
| 77 | |
| 78 | void (*print_sigevent)(struct tcb *const tcp, const kernel_ulong_t addr); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 79 | #define print_sigevent MPERS_PRINTER_NAME(print_sigevent) |
| 80 | |
Elliott Hughes | dc75b01 | 2017-07-05 13:54:44 -0700 | [diff] [blame] | 81 | _Bool (*print_struct_timespec_data_size)(const void *arg, const size_t size); |
| 82 | #define print_struct_timespec_data_size MPERS_PRINTER_NAME(print_struct_timespec_data_size) |
| 83 | |
| 84 | _Bool (*print_struct_timespec_array_data_size)(const void *arg, const unsigned int nmemb, const size_t size); |
| 85 | #define print_struct_timespec_array_data_size MPERS_PRINTER_NAME(print_struct_timespec_array_data_size) |
| 86 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 87 | void (*print_timespec)(struct tcb *const tcp, const kernel_ulong_t addr); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 88 | #define print_timespec MPERS_PRINTER_NAME(print_timespec) |
| 89 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 90 | const char * (*sprint_timespec)(struct tcb *const tcp, const kernel_ulong_t addr); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 91 | #define sprint_timespec MPERS_PRINTER_NAME(sprint_timespec) |
| 92 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 93 | void (*print_timespec_utime_pair)(struct tcb *const tcp, const kernel_ulong_t addr); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 94 | #define print_timespec_utime_pair MPERS_PRINTER_NAME(print_timespec_utime_pair) |
| 95 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 96 | void (*print_itimerspec)(struct tcb *const tcp, const kernel_ulong_t addr); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 97 | #define print_itimerspec MPERS_PRINTER_NAME(print_itimerspec) |
| 98 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 99 | void (*print_struct_timeval)(const void *arg); |
| 100 | #define print_struct_timeval MPERS_PRINTER_NAME(print_struct_timeval) |
| 101 | |
Elliott Hughes | dc75b01 | 2017-07-05 13:54:44 -0700 | [diff] [blame] | 102 | _Bool (*print_struct_timeval_data_size)(const void *arg, const size_t size); |
| 103 | #define print_struct_timeval_data_size MPERS_PRINTER_NAME(print_struct_timeval_data_size) |
| 104 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 105 | void (*print_timeval)(struct tcb *const tcp, const kernel_ulong_t addr); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 106 | #define print_timeval MPERS_PRINTER_NAME(print_timeval) |
| 107 | |
Elliott Hughes | 39bac05 | 2017-05-25 16:56:11 -0700 | [diff] [blame] | 108 | void (*print_timeval_utimes)(struct tcb *const tcp, const kernel_ulong_t addr); |
| 109 | #define print_timeval_utimes MPERS_PRINTER_NAME(print_timeval_utimes) |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 110 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 111 | const char * (*sprint_timeval)(struct tcb *const tcp, const kernel_ulong_t addr); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 112 | #define sprint_timeval MPERS_PRINTER_NAME(sprint_timeval) |
| 113 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 114 | void (*print_itimerval)(struct tcb *const tcp, const kernel_ulong_t addr); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 115 | #define print_itimerval MPERS_PRINTER_NAME(print_itimerval) |
| 116 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 117 | int (*print_timex)(struct tcb *const tcp, const kernel_ulong_t addr); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 118 | #define print_timex MPERS_PRINTER_NAME(print_timex) |
| 119 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 120 | void (*printrusage)(struct tcb *const tcp, const kernel_ulong_t addr); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 121 | #define printrusage MPERS_PRINTER_NAME(printrusage) |
| 122 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 123 | void (*printsiginfo_at)(struct tcb *const tcp, const kernel_ulong_t addr); |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 124 | #define printsiginfo_at MPERS_PRINTER_NAME(printsiginfo_at) |
| 125 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 126 | void (*print_siginfo_array)(struct tcb *const tcp, const kernel_ulong_t addr, const kernel_ulong_t len); |
Elliott Hughes | a618f75 | 2016-06-02 21:04:08 -0700 | [diff] [blame] | 127 | #define print_siginfo_array MPERS_PRINTER_NAME(print_siginfo_array) |
| 128 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 129 | int (*rtc_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); |
Elliott Hughes | a618f75 | 2016-06-02 21:04:08 -0700 | [diff] [blame] | 130 | #define rtc_ioctl MPERS_PRINTER_NAME(rtc_ioctl) |
| 131 | |
Elliott Hughes | d35df49 | 2017-02-15 15:19:05 -0800 | [diff] [blame] | 132 | int (*decode_sg_io_v3)(struct tcb *const tcp, const kernel_ulong_t arg); |
| 133 | #define decode_sg_io_v3 MPERS_PRINTER_NAME(decode_sg_io_v3) |
| 134 | |
| 135 | int (*sock_ioctl)(struct tcb *tcp, const unsigned int code, const kernel_ulong_t arg); |
| 136 | #define sock_ioctl MPERS_PRINTER_NAME(sock_ioctl) |
| 137 | |
| 138 | int (*v4l2_ioctl)(struct tcb *const tcp, const unsigned int code, const kernel_ulong_t arg); |
Elliott Hughes | a618f75 | 2016-06-02 21:04:08 -0700 | [diff] [blame] | 139 | #define v4l2_ioctl MPERS_PRINTER_NAME(v4l2_ioctl) |
| 140 | |
Elliott Hughes | da82708 | 2015-12-11 14:50:30 -0800 | [diff] [blame] | 141 | } struct_printers; |
| 142 | extern const struct_printers *printers; |
| 143 | #define MPERS_PRINTER_NAME(printer_name) printers->printer_name |