blob: 196b208665a223cf5624bae71c81e4484494029f [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* $Id: ioctl32.c,v 1.136 2002/01/14 09:49:52 davem Exp $
2 * ioctl32.c: Conversion between 32bit and 64bit native ioctls.
3 *
4 * Copyright (C) 1997-2000 Jakub Jelinek (jakub@redhat.com)
5 * Copyright (C) 1998 Eddie C. Dost (ecd@skynet.be)
6 * Copyright (C) 2003 Pavel Machek (pavel@suse.cz)
7 *
8 * These routines maintain argument size conversion between 32bit and 64bit
9 * ioctls.
10 */
11
12#define INCLUDES
13#include "compat_ioctl.c"
Linus Torvalds1da177e2005-04-16 15:20:36 -070014#include <linux/syscalls.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070015
Linus Torvalds1da177e2005-04-16 15:20:36 -070016#define CODE
17#include "compat_ioctl.c"
18
Linus Torvalds1da177e2005-04-16 15:20:36 -070019#define COMPATIBLE_IOCTL(cmd) HANDLE_IOCTL((cmd),sys_ioctl)
Christoph Hellwig7e4c54a2005-11-08 21:35:07 -080020#define HANDLE_IOCTL(cmd,handler) { (cmd), (ioctl_trans_handler_t)(handler), NULL },
Linus Torvalds1da177e2005-04-16 15:20:36 -070021#define IOCTL_TABLE_START \
22 struct ioctl_trans ioctl_start[] = {
23#define IOCTL_TABLE_END \
24 };
25
26IOCTL_TABLE_START
27#include <linux/compat_ioctl.h>
28#define DECLARES
29#include "compat_ioctl.c"
Linus Torvalds1da177e2005-04-16 15:20:36 -070030#if 0
31HANDLE_IOCTL(RTC32_IRQP_READ, do_rtc_ioctl)
32HANDLE_IOCTL(RTC32_IRQP_SET, do_rtc_ioctl)
33HANDLE_IOCTL(RTC32_EPOCH_READ, do_rtc_ioctl)
34HANDLE_IOCTL(RTC32_EPOCH_SET, do_rtc_ioctl)
35#endif
36/* take care of sizeof(sizeof()) breakage */
37IOCTL_TABLE_END
38
39int ioctl_table_size = ARRAY_SIZE(ioctl_start);