14 void create_shm(void);
15 void create_shm_arrays(void);
18 struct syscallrecord
{
19 unsigned int nr
; /* protected by syscall_lock */
27 bool do32bit
; /* protected by syscall_lock */
31 unsigned long total_syscalls_done
;
32 unsigned long successes
;
33 unsigned long failures
;
34 unsigned long previous_count
;
35 unsigned long *child_syscall_count
;
37 unsigned long regenerate
;
41 /* Indices of syscall in syscall table that are active.
42 * All indices shifted by +1. Empty index equals to 0.
44 * 'active_syscalls' is only used on uniarch. The other two
45 * are only used on biarch. FIXME: Make this compile-time somehow? */
46 int active_syscalls32
[MAX_NR_SYSCALL
];
47 int active_syscalls64
[MAX_NR_SYSCALL
];
48 int active_syscalls
[MAX_NR_SYSCALL
];
49 unsigned int nr_active_syscalls
;
50 unsigned int nr_active_32bit_syscalls
;
51 unsigned int nr_active_64bit_syscalls
;
55 unsigned char *child_type
;
59 unsigned char *kill_count
;
61 unsigned int running_childs
;
63 struct timeval taint_tv
;
67 int pipe_fds
[MAX_PIPE_FDS
*2];
68 int file_fds
[NR_FILE_FDS
]; /* All children inherit these */
69 int perf_fds
[MAX_PERF_FDS
];
70 int epoll_fds
[MAX_EPOLL_FDS
];
71 int eventfd_fds
[MAX_EPOLL_FDS
];
73 struct socketinfo sockets
[NR_SOCKET_FDS
];
75 struct syscallrecord
*syscall
; /* FIXME: protect all accesses with syscall_lock */
76 struct syscallrecord
*previous
;
78 unsigned long *scratch
;
81 unsigned int fd_lifetime
;
84 struct map
**mappings
;
85 unsigned int *num_mappings
;
89 enum exit_reasons exit_reason
;
92 volatile unsigned char regenerating
;
98 extern struct shm_s
*shm
;
101 #define SHM_CORRUPT 1