Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
| 2 | * ioctl32.c: Conversion between 32bit and 64bit native ioctls. |
| 3 | * |
| 4 | * Copyright (C) 2000 Silicon Graphics, Inc. |
| 5 | * Written by Ulf Carlsson (ulfc@engr.sgi.com) |
| 6 | * Copyright (C) 2000, 2004 Ralf Baechle |
| 7 | * Copyright (C) 2002, 2003 Maciej W. Rozycki |
| 8 | */ |
| 9 | #define INCLUDES |
| 10 | #include "compat_ioctl.c" |
| 11 | |
| 12 | #include <linux/config.h> |
| 13 | #include <linux/types.h> |
| 14 | #include <linux/compat.h> |
| 15 | #include <linux/ioctl32.h> |
| 16 | #include <linux/syscalls.h> |
| 17 | |
| 18 | #ifdef CONFIG_SIBYTE_TBPROF |
| 19 | #include <asm/sibyte/trace_prof.h> |
| 20 | #endif |
| 21 | |
| 22 | #define A(__x) ((unsigned long)(__x)) |
| 23 | |
| 24 | long sys_ioctl(unsigned int fd, unsigned int cmd, unsigned long arg); |
| 25 | |
| 26 | #define CODE |
| 27 | #include "compat_ioctl.c" |
| 28 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 29 | #define COMPATIBLE_IOCTL(cmd) HANDLE_IOCTL((cmd),sys_ioctl) |
Christoph Hellwig | 7e4c54a | 2005-11-08 21:35:07 -0800 | [diff] [blame] | 30 | #define HANDLE_IOCTL(cmd,handler) { (cmd), (ioctl_trans_handler_t)(handler), NULL }, |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | #define IOCTL_TABLE_START \ |
| 32 | struct ioctl_trans ioctl_start[] = { |
| 33 | #define IOCTL_TABLE_END \ |
| 34 | }; |
| 35 | |
| 36 | IOCTL_TABLE_START |
| 37 | |
| 38 | #include <linux/compat_ioctl.h> |
| 39 | #define DECLARES |
| 40 | #include "compat_ioctl.c" |
| 41 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 42 | /*HANDLE_IOCTL(RTC_IRQP_READ, w_long) |
| 43 | COMPATIBLE_IOCTL(RTC_IRQP_SET) |
| 44 | HANDLE_IOCTL(RTC_EPOCH_READ, w_long) |
| 45 | COMPATIBLE_IOCTL(RTC_EPOCH_SET) |
| 46 | */ |
| 47 | |
| 48 | IOCTL_TABLE_END |
| 49 | |
| 50 | int ioctl_table_size = ARRAY_SIZE(ioctl_start); |