ioctl32.c 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* $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. #define INCLUDES
  12. #include "compat_ioctl.c"
  13. #include <linux/syscalls.h>
  14. #define CODE
  15. #include "compat_ioctl.c"
  16. #define COMPATIBLE_IOCTL(cmd) HANDLE_IOCTL((cmd),sys_ioctl)
  17. #define HANDLE_IOCTL(cmd,handler) { (cmd), (ioctl_trans_handler_t)(handler), NULL },
  18. #define IOCTL_TABLE_START \
  19. struct ioctl_trans ioctl_start[] = {
  20. #define IOCTL_TABLE_END \
  21. };
  22. IOCTL_TABLE_START
  23. #include <linux/compat_ioctl.h>
  24. #define DECLARES
  25. #include "compat_ioctl.c"
  26. #if 0
  27. HANDLE_IOCTL(RTC32_IRQP_READ, do_rtc_ioctl)
  28. HANDLE_IOCTL(RTC32_IRQP_SET, do_rtc_ioctl)
  29. HANDLE_IOCTL(RTC32_EPOCH_READ, do_rtc_ioctl)
  30. HANDLE_IOCTL(RTC32_EPOCH_SET, do_rtc_ioctl)
  31. #endif
  32. /* take care of sizeof(sizeof()) breakage */
  33. IOCTL_TABLE_END
  34. int ioctl_table_size = ARRAY_SIZE(ioctl_start);