]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blame - include/linux/ioctl32.h
[PATCH] I2C hwmon: hwmon sysfs class
[mirror_ubuntu-zesty-kernel.git] / include / linux / ioctl32.h
CommitLineData
1da177e4
LT
1#ifndef IOCTL32_H
2#define IOCTL32_H 1
3
22a685d0
CH
4#include <linux/compiler.h> /* for __deprecated */
5
1da177e4
LT
6struct file;
7
8typedef int (*ioctl_trans_handler_t)(unsigned int, unsigned int,
9 unsigned long, struct file *);
10
11struct ioctl_trans {
12 unsigned long cmd;
13 ioctl_trans_handler_t handler;
14 struct ioctl_trans *next;
15};
16
17/*
18 * Register an 32bit ioctl translation handler for ioctl cmd.
19 *
20 * handler == NULL: use 64bit ioctl handler.
21 * arguments to handler: fd: file descriptor
22 * cmd: ioctl command.
23 * arg: ioctl argument
24 * struct file *file: file descriptor pointer.
25 */
26
27#ifdef CONFIG_COMPAT
22a685d0 28extern int __deprecated register_ioctl32_conversion(unsigned int cmd,
1da177e4 29 ioctl_trans_handler_t handler);
22a685d0 30extern int __deprecated unregister_ioctl32_conversion(unsigned int cmd);
1da177e4
LT
31
32#else
33
34#define register_ioctl32_conversion(cmd, handler) ({ 0; })
35#define unregister_ioctl32_conversion(cmd) ({ 0; })
36
37#endif
38
39#endif