aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ioctl32.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/ioctl32.h')
-rw-r--r--include/linux/ioctl32.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/include/linux/ioctl32.h b/include/linux/ioctl32.h
new file mode 100644
index 000000000000..e1a641819428
--- /dev/null
+++ b/include/linux/ioctl32.h
@@ -0,0 +1,37 @@
1#ifndef IOCTL32_H
2#define IOCTL32_H 1
3
4struct file;
5
6typedef int (*ioctl_trans_handler_t)(unsigned int, unsigned int,
7 unsigned long, struct file *);
8
9struct 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
26extern int register_ioctl32_conversion(unsigned int cmd,
27 ioctl_trans_handler_t handler);
28extern 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