fc8150.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. /*****************************************************************************
  2. Copyright(c) 2009 FCI Inc. All Rights Reserved
  3. File name : bbm.c
  4. Description : API of dmb baseband module
  5. History :
  6. ----------------------------------------------------------------------
  7. 2009/08/29 jason initial
  8. *******************************************************************************/
  9. #ifndef __ISDBT_H__
  10. #define __ISDBT_H__
  11. #ifdef __cplusplus
  12. extern "C" {
  13. #endif
  14. #include <linux/list.h>
  15. #include "fci_types.h"
  16. #include "fci_ringbuffer.h"
  17. #define CTL_TYPE 0
  18. #define TS_TYPE 1
  19. #define MAX_OPEN_NUM 8
  20. #define IOCTL_MAGIC 't'
  21. struct ioctl_info{
  22. unsigned long size;
  23. unsigned long buff[128];
  24. };
  25. #define IOCTL_MAXNR 25
  26. #define IOCTL_ISDBT_RESET \
  27. _IO(IOCTL_MAGIC, 0)
  28. #define IOCTL_ISDBT_PROBE \
  29. _IO(IOCTL_MAGIC, 1)
  30. #define IOCTL_ISDBT_INIT \
  31. _IO(IOCTL_MAGIC, 2)
  32. #define IOCTL_ISDBT_DEINIT \
  33. _IO(IOCTL_MAGIC, 3)
  34. #define IOCTL_ISDBT_BYTE_READ \
  35. _IOWR(IOCTL_MAGIC, 4, struct ioctl_info)
  36. #define IOCTL_ISDBT_WORD_READ \
  37. _IOWR(IOCTL_MAGIC, 5, struct ioctl_info)
  38. #define IOCTL_ISDBT_LONG_READ \
  39. _IOWR(IOCTL_MAGIC, 6, struct ioctl_info)
  40. #define IOCTL_ISDBT_BULK_READ \
  41. _IOWR(IOCTL_MAGIC, 7, struct ioctl_info)
  42. #define IOCTL_ISDBT_BYTE_WRITE \
  43. _IOW(IOCTL_MAGIC, 8, struct ioctl_info)
  44. #define IOCTL_ISDBT_WORD_WRITE \
  45. _IOW(IOCTL_MAGIC, 9, struct ioctl_info)
  46. #define IOCTL_ISDBT_LONG_WRITE \
  47. _IOW(IOCTL_MAGIC, 10, struct ioctl_info)
  48. #define IOCTL_ISDBT_BULK_WRITE \
  49. _IOW(IOCTL_MAGIC, 11, struct ioctl_info)
  50. #define IOCTL_ISDBT_TUNER_READ \
  51. _IOWR(IOCTL_MAGIC, 12, struct ioctl_info)
  52. #define IOCTL_ISDBT_TUNER_WRITE \
  53. _IOW(IOCTL_MAGIC, 13, struct ioctl_info)
  54. #define IOCTL_ISDBT_TUNER_SET_FREQ \
  55. _IOW(IOCTL_MAGIC, 14, struct ioctl_info)
  56. #define IOCTL_ISDBT_TUNER_SELECT \
  57. _IOW(IOCTL_MAGIC, 15, struct ioctl_info)
  58. #define IOCTL_ISDBT_TUNER_DESELECT \
  59. _IO(IOCTL_MAGIC, 16)
  60. #define IOCTL_ISDBT_SCAN_STATUS \
  61. _IO(IOCTL_MAGIC, 17)
  62. #define IOCTL_ISDBT_TS_START \
  63. _IO(IOCTL_MAGIC, 18)
  64. #define IOCTL_ISDBT_TS_STOP \
  65. _IO(IOCTL_MAGIC, 19)
  66. #define IOCTL_ISDBT_TUNER_GET_RSSI \
  67. _IOWR(IOCTL_MAGIC, 20, struct ioctl_info)
  68. #define IOCTL_ISDBT_HOSTIF_SELECT \
  69. _IOW(IOCTL_MAGIC, 21, struct ioctl_info)
  70. #define IOCTL_ISDBT_HOSTIF_DESELECT \
  71. _IO(IOCTL_MAGIC, 22)
  72. #define IOCTL_ISDBT_POWER_ON \
  73. _IO(IOCTL_MAGIC, 23)
  74. #define IOCTL_ISDBT_POWER_OFF \
  75. _IO(IOCTL_MAGIC, 24)
  76. struct ISDBT_OPEN_INFO_T{
  77. HANDLE *hInit;
  78. struct list_head hList;
  79. struct fci_ringbuffer RingBuffer;
  80. u8 *buf;
  81. u8 isdbttype;
  82. };
  83. struct ISDBT_INIT_INFO_T{
  84. struct list_head hHead;
  85. };
  86. enum ISDBT_MODE{
  87. ISDBT_POWERON = 0,
  88. ISDBT_POWEROFF = 1,
  89. ISDBT_DATAREAD = 2
  90. };
  91. extern int isdbt_open(struct inode *inode, struct file *filp);
  92. extern long isdbt_ioctl(struct file *filp, unsigned int cmd, unsigned long arg);
  93. extern int isdbt_release(struct inode *inode, struct file *filp);
  94. extern ssize_t isdbt_read(struct file *filp
  95. , char *buf, size_t count, loff_t *f_pos);
  96. #ifdef __cplusplus
  97. }
  98. #endif
  99. #endif