ioctl32.h 975 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef IOCTL32_H
  2. #define IOCTL32_H 1
  3. #include <linux/compiler.h> /* for __deprecated */
  4. struct file;
  5. typedef int (*ioctl_trans_handler_t)(unsigned int, unsigned int,
  6. unsigned long, struct file *);
  7. struct ioctl_trans {
  8. unsigned long cmd;
  9. ioctl_trans_handler_t handler;
  10. struct ioctl_trans *next;
  11. };
  12. /*
  13. * Register an 32bit ioctl translation handler for ioctl cmd.
  14. *
  15. * handler == NULL: use 64bit ioctl handler.
  16. * arguments to handler: fd: file descriptor
  17. * cmd: ioctl command.
  18. * arg: ioctl argument
  19. * struct file *file: file descriptor pointer.
  20. */
  21. #ifdef CONFIG_COMPAT
  22. extern int __deprecated register_ioctl32_conversion(unsigned int cmd,
  23. ioctl_trans_handler_t handler);
  24. extern int __deprecated unregister_ioctl32_conversion(unsigned int cmd);
  25. #else
  26. #define register_ioctl32_conversion(cmd, handler) ({ 0; })
  27. #define unregister_ioctl32_conversion(cmd) ({ 0; })
  28. #endif
  29. #endif