Linux-2.6.12-rc2
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / linux / ioctl32.h
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