drv_ir_def.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #ifndef _SIS_IR_H
  2. #define _SIS_IR_H
  3. #include <drv_types.h>
  4. #define CONTINUE_KEY_HEAD 0
  5. #define CONTINUE_KEY_START_END 1
  6. #define CONTINUE_KEY_START 2
  7. #define CONTINUE_KEY_END 3
  8. #define CONTINUE_KEY_REPEAT 4
  9. #define SINGLE_KEY_END 5
  10. typedef enum {
  11. Phillips = 0,
  12. Nec,
  13. Sony,
  14. JVC,
  15. Sharp,
  16. Sampo,
  17. Phillips_RC6,
  18. RCA,
  19. Toshiba,
  20. X_SAT,
  21. Toshiba2,
  22. NEC_SAMSUNG,
  23. Konka,
  24. Panasonic,
  25. Sharp2,
  26. Phillips_RC6_6A,
  27. TC9012,
  28. Others
  29. } IR_CODING;
  30. typedef struct _Message
  31. {
  32. UINT8 Protocol;
  33. UINT8 Address;
  34. UINT8 Address_;
  35. UINT8 Command;
  36. UINT8 ContinueKey;
  37. }Message, *PMessage;
  38. typedef struct _IR_NODE
  39. {
  40. UINT8 Address;
  41. UINT8 Address_;
  42. INT8 Name[20];
  43. UINT8 Command;
  44. //UINT8 ContinueKey;
  45. struct _IR_NODE *next;
  46. }IR_NODE;
  47. typedef struct _IR_IOC_IOData
  48. {
  49. UINT8 Length;
  50. Message Databuf[30];
  51. } IR_IOC_IOData, *IR_IOC_IODataPtr;
  52. typedef struct _IR_IOC_IORecData
  53. {
  54. ULONG msg;
  55. ULONG tick_ms;
  56. }IR_IOC_IORecData, *IR_IOC_IORecDataPtr;
  57. #define SISIR_DEV_FILE "/dev/sisir"
  58. #define SISIR_DEV_NUM 1 // Max number of device
  59. #define IR_Auto_Test 1
  60. // SiS Defined I/O Control Signal
  61. #define IR_IOC_MAGIC 'z'
  62. #define IR_IOC_BASE 196
  63. #define IR_IOC_Get_Data _IOR(IR_IOC_MAGIC, IR_IOC_BASE+0x01, IR_IOC_IOData)
  64. #define IR_IOC_Get_Protocol _IOR(IR_IOC_MAGIC, IR_IOC_BASE+0x02, IR_CODING)
  65. #define IR_IOC_ClsAndroid _IOWR(IR_IOC_MAGIC, IR_IOC_BASE+0x03, unsigned int)
  66. #if IR_Auto_Test
  67. #define IR_IOC_Set_Data _IOW(IR_IOC_MAGIC, IR_IOC_BASE+0x04, Message)
  68. #define IR_IOC_EnableIR _IO(IR_IOC_MAGIC, IR_IOC_BASE+0x05)
  69. #define IR_IOC_DisableIR _IO(IR_IOC_MAGIC, IR_IOC_BASE+0x06)
  70. #endif
  71. #define IR_IOC_Get_AndroidData _IOR(IR_IOC_MAGIC, IR_IOC_BASE+0x07, IR_IOC_IOData)
  72. #define IR_IOC_Get_RecData _IOR(IR_IOC_MAGIC, IR_IOC_BASE+0x07, IR_IOC_IORecData)
  73. #endif // end of #ifndef _SIS_IR_H