move eventfd stuff out to own file
[trinity.git] / include / tables.h
blob48561401a97e4567bcb6f84f66d75dc68a9ad06f
1 #pragma once
3 #include "types.h"
4 #include "syscall.h"
6 extern const struct syscalltable *syscalls;
7 extern const struct syscalltable *syscalls_32bit;
8 extern const struct syscalltable *syscalls_64bit;
10 extern unsigned long syscalls_todo;
11 extern unsigned int max_nr_syscalls;
12 extern unsigned int max_nr_32bit_syscalls;
13 extern unsigned int max_nr_64bit_syscalls;
15 extern bool use_32bit;
16 extern bool use_64bit;
18 void validate_specific_syscall(const struct syscalltable *table, int call);
19 void activate_syscall_in_table(unsigned int calln, unsigned int *nr_active, const struct syscalltable *table, int *active_syscall);
20 void deactivate_syscall_in_table(unsigned int calln, unsigned int *nr_active, const struct syscalltable *table, int *active_syscall);
22 void check_user_specified_arch(const char *arg, char **arg_name, bool *only_64bit, bool *only_32bit);
23 void clear_check_user_specified_arch(const char *arg, char **arg_name);
25 void select_syscall_tables(void);
26 int search_syscall_table(const struct syscalltable *table, unsigned int nr_syscalls, const char *arg);
28 void mark_all_syscalls_active(void);
29 void mark_all_syscalls_active_uniarch(void);
30 void mark_all_syscalls_active_biarch(void);
32 void toggle_syscall(const char *arg, bool state);
33 void toggle_syscall_biarch_n(int calln, const struct syscalltable *table, bool onlyflag, bool doflag, bool state, void (*activate)(unsigned int), int arch_bits, const char *arg_name);
34 void toggle_syscall_biarch(const char *arg, bool state);
35 void toggle_syscall_n(int calln, bool state, const char *arg, const char *arg_name);
37 void activate_syscall(unsigned int calln);
38 void activate_syscall32(unsigned int calln);
39 void activate_syscall64(unsigned int calln);
40 void deactivate_syscall(unsigned int calln);
41 void deactivate_syscall32(unsigned int calln);
42 void deactivate_syscall64(unsigned int calln);
44 void show_state(unsigned int state);
45 void dump_syscall_tables(void);
46 void dump_syscall_tables_uniarch(void);
47 void dump_syscall_tables_biarch(void);
49 int setup_syscall_group(unsigned int desired_group);
50 int setup_syscall_group_uniarch(unsigned int desired_group);
51 int setup_syscall_group_biarch(unsigned int desired_group);
53 int validate_syscall_tables(void);
54 bool no_syscalls_enabled(void);
55 int validate_syscall_table_64(void);
56 int validate_syscall_table_32(void);
57 void sanity_check_tables(void);
58 const char * print_syscall_name(unsigned int callno, bool is32bit);
60 void enable_random_syscalls(void);
61 void enable_random_syscalls_biarch(void);
62 void enable_random_syscalls_uniarch(void);
64 int validate_specific_syscall_silent(const struct syscalltable *table, int call);
65 void deactivate_disabled_syscalls(void);
66 void deactivate_disabled_syscalls_biarch(void);
67 void deactivate_disabled_syscalls_uniarch(void);
68 void count_syscalls_enabled(void);
70 void display_enabled_syscalls(void);
71 void display_enabled_syscalls_uniarch(void);
72 void display_enabled_syscalls_biarch(void);
74 void disable_non_net_syscalls(void);
75 void disable_non_net_syscalls_uniarch(void);
76 void disable_non_net_syscalls_biarch(void);
78 bool is_syscall_net_related(const struct syscalltable *table, unsigned int num);
80 void init_syscalls(void);
81 void init_syscalls_biarch(void);
82 void init_syscalls_uniarch(void);
84 int munge_tables(void);
86 #define for_each_32bit_syscall(i) \
87 for (i = 0; i < max_nr_32bit_syscalls; i++)
88 #define for_each_64bit_syscall(i) \
89 for (i = 0; i < max_nr_64bit_syscalls; i++)
90 #define for_each_syscall(i) \
91 for (i = 0; i < max_nr_syscalls; i++)