]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef IOCTL32_H |
2 | #define IOCTL32_H 1 | |
3 | ||
4 | struct file; | |
5 | ||
6 | typedef int (*ioctl_trans_handler_t)(unsigned int, unsigned int, | |
7 | unsigned long, struct file *); | |
8 | ||
9 | struct ioctl_trans { | |
10 | unsigned long cmd; | |
11 | ioctl_trans_handler_t handler; | |
12 | struct ioctl_trans *next; | |
13 | }; | |
14 | ||
15 | /* | |
16 | * Register an 32bit ioctl translation handler for ioctl cmd. | |
17 | * | |
18 | * handler == NULL: use 64bit ioctl handler. | |
19 | * arguments to handler: fd: file descriptor | |
20 | * cmd: ioctl command. | |
21 | * arg: ioctl argument | |
22 | * struct file *file: file descriptor pointer. | |
23 | */ | |
24 | ||
25 | #ifdef CONFIG_COMPAT | |
26 | extern int register_ioctl32_conversion(unsigned int cmd, | |
27 | ioctl_trans_handler_t handler); | |
28 | extern int unregister_ioctl32_conversion(unsigned int cmd); | |
29 | ||
30 | #else | |
31 | ||
32 | #define register_ioctl32_conversion(cmd, handler) ({ 0; }) | |
33 | #define unregister_ioctl32_conversion(cmd) ({ 0; }) | |
34 | ||
35 | #endif | |
36 | ||
37 | #endif |