sismmio.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #ifndef _SISMMIO_H_
  2. #define _SISMMIO_H_
  3. #include <linux/ioctl.h>
  4. typedef struct _sismmio_ioctl_data{
  5. unsigned int addr;
  6. unsigned int data;
  7. }sismmio_ioctl_data;
  8. typedef struct _sismmio_ioctl_string {
  9. char *cmd;
  10. unsigned int length;
  11. }sismmio_ioctl_string;
  12. typedef struct _sismmio_ioctl_section_remap {
  13. unsigned int opt;
  14. unsigned int vaddr_start;
  15. unsigned int length;
  16. } sismmio_ioctl_section_remap;
  17. #define CDEV_SISMMIO_MAJOR SISMMIO_DEV_MAJOR
  18. #define CDEV_SISMMIO_NAME "sismmio"
  19. #define SISMMIO_MAGIC 'k'
  20. #define SISMMIO_GETWORD _IOWR(SISMMIO_MAGIC,0,sismmio_ioctl_data)
  21. #define SISMMIO_SETWORD _IOWR(SISMMIO_MAGIC,1,sismmio_ioctl_data)
  22. #define SISMMIO_GETHALF _IOWR(SISMMIO_MAGIC,2,sismmio_ioctl_data)
  23. #define SISMMIO_SETHALF _IOWR(SISMMIO_MAGIC,3,sismmio_ioctl_data)
  24. #define SISMMIO_GETBYTE _IOWR(SISMMIO_MAGIC,4,sismmio_ioctl_data)
  25. #define SISMMIO_SETBYTE _IOWR(SISMMIO_MAGIC,5,sismmio_ioctl_data)
  26. #define SISMMIO_GETFILE _IOWR(SISMMIO_MAGIC,6,sismmio_ioctl_data)
  27. #define SISMMIO_REBOOT _IOWR(SISMMIO_MAGIC,7,sismmio_ioctl_data)
  28. #define SISMMIO_ALLOCPAGE _IOWR(SISMMIO_MAGIC,8,sismmio_ioctl_data)
  29. #define SISMMIO_FREEPAGE _IOWR(SISMMIO_MAGIC,9,sismmio_ioctl_data)
  30. #define SISMMIO_SYNCPAGE _IOWR(SISMMIO_MAGIC,10,sismmio_ioctl_data)
  31. #define SISMMIO_UNPACK _IOWR(SISMMIO_MAGIC,11,sismmio_ioctl_data)
  32. #define SISMMIO_REBOOT_C _IOWR(SISMMIO_MAGIC,12, sismmio_ioctl_string)
  33. #define SISMMIO_SECTIION_REMAP _IOWR(SISMMIO_MAGIC,13, sismmio_ioctl_section_remap)
  34. #endif