Rev 6082 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6082 | Rev 6934 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | #ifndef _LINUX_PERSONALITY_H |
1 | #ifndef _LINUX_PERSONALITY_H |
2 | #define _LINUX_PERSONALITY_H |
2 | #define _LINUX_PERSONALITY_H |
Line 3... | Line 3... | ||
3 | 3 | ||
Line 4... | Line -... | ||
4 | #include |
- | |
5 | - | ||
6 | - | ||
7 | /* |
- | |
8 | * Handling of different ABIs (personalities). |
- | |
9 | */ |
- | |
10 | - | ||
11 | struct exec_domain; |
- | |
12 | struct pt_regs; |
- | |
13 | - | ||
14 | extern int register_exec_domain(struct exec_domain *); |
- | |
15 | extern int unregister_exec_domain(struct exec_domain *); |
- | |
16 | extern int __set_personality(unsigned int); |
- | |
17 | - | ||
18 | - | ||
19 | /* |
- | |
20 | * Description of an execution domain. |
- | |
21 | * |
- | |
22 | * The first two members are refernced from assembly source |
- | |
23 | * and should stay where they are unless explicitly needed. |
- | |
24 | */ |
- | |
25 | typedef void (*handler_t)(int, struct pt_regs *); |
- | |
26 | - | ||
27 | struct exec_domain { |
- | |
28 | const char *name; /* name of the execdomain */ |
- | |
29 | handler_t handler; /* handler for syscalls */ |
- | |
30 | unsigned char pers_low; /* lowest personality */ |
- | |
31 | unsigned char pers_high; /* highest personality */ |
- | |
32 | unsigned long *signal_map; /* signal mapping */ |
- | |
33 | unsigned long *signal_invmap; /* reverse signal mapping */ |
- | |
34 | struct map_segment *err_map; /* error mapping */ |
- | |
35 | struct map_segment *socktype_map; /* socket type mapping */ |
- | |
36 | struct map_segment *sockopt_map; /* socket option mapping */ |
- | |
37 | struct map_segment *af_map; /* address family mapping */ |
- | |
38 | struct module *module; /* module context of the ed. */ |
- | |
39 | struct exec_domain *next; /* linked list (internal) */ |
- | |
40 | }; |
4 | #include |
41 | 5 | ||
42 | /* |
6 | /* |
43 | * Return the base personality without flags. |
7 | * Return the base personality without flags. |