xref: /utopia/UTPA2-700.0.x/modules/ir_tx/drv/ir_tx/drvIR_TX_private.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1 #ifndef _DRVIRTX_PRIV_H_
2 #define _DRVIRTX_PRIV_H_
3 
4 
5 
6 #include "MsTypes.h"
7 #include "drv_IR_TX.h"
8 
9 typedef enum {
10     MDrv_CMD_IR_TX_Trigger,
11     MDrv_CMD_IR_TX_SetStatus,
12     MDrv_CMD_IR_TX_SetMemStatus,
13     MDrv_CMD_IR_TX_SetClkDiv,
14     MDrv_CMD_IR_TX_SetDelayCycleTime,
15     MDrv_CMD_IR_TX_SetMemAddr,
16     MDrv_CMD_IR_TX_SetMemData,
17     MDrv_CMD_IR_TX_SetUnitValue,
18     MDrv_CMD_IR_TX_SetShotCount,
19     MDrv_CMD_IR_TX_Init,
20     MDrv_CMD_IR_TX_SetCarrierCount
21 } ir_txIoctlOpt;
22 
23 
24 typedef struct _IR_TX_RESOURCE_PRIVATE
25 {
26     MS_U32 Dummy;
27 }IR_TX_RESOURCE_PRIVATE;
28 
29 
30 typedef MS_BOOL (*IOCTL_IRTX_SETSTATUS)(MS_U16);
31 typedef MS_BOOL (*IOCTL_IRTX_SETMEMSTATUS)(MS_U16);
32 typedef MS_BOOL (*IOCTL_IRTX_SETCLKDIV)(MS_U8);
33 typedef MS_BOOL (*IOCTL_IRTX_SETDELAYCLKTIME)(MS_U16, MS_U16);
34 typedef MS_BOOL (*IOCTL_IRTX_SETMEMADDR)(MS_U16);
35 typedef MS_BOOL (*IOCTL_IRTX_SETMEMDATA)(MS_U16);
36 typedef MS_BOOL (*IOCTL_IRTX_SETUNITVALUE)(MS_U16, MS_U8);
37 typedef MS_BOOL (*IOCTL_IRTX_SETSHOTCOUNT)(MS_U16, MS_U16, MS_U8);
38 typedef MS_BOOL (*IOCTL_IRTX_INIT)(void);
39 typedef MS_BOOL (*IOCTL_IRTX_TRIGGER)(void);
40 typedef MS_BOOL (*IOCTL_IRTX_SETCARRIERCOUNT)(MS_U16);
41 
42 typedef struct _IR_TX_INSTANT_PRIVATE
43 {
44     IOCTL_IRTX_SETSTATUS            fpIRTXSetStatus;
45     IOCTL_IRTX_SETMEMSTATUS         fpIRTXSetMemStatus;
46     IOCTL_IRTX_SETCLKDIV            fpIRTXSetClkDiv;
47     IOCTL_IRTX_SETDELAYCLKTIME      fpIRTXSetDelayCycleTime;
48     IOCTL_IRTX_SETMEMADDR           fpIRTXSetMemAddr;
49     IOCTL_IRTX_SETMEMDATA           fpIRTXSetMemData;
50     IOCTL_IRTX_SETUNITVALUE         fpIRTXSetUnitValue;
51     IOCTL_IRTX_SETSHOTCOUNT         fpIRTXSetShotCount;
52     IOCTL_IRTX_INIT                 fpIRTX_Init;
53 	IOCTL_IRTX_TRIGGER              fpIRTX_Trigger;
54 	IOCTL_IRTX_SETCARRIERCOUNT      fpIRTX_SetCarrierCount;
55 
56 }IR_TX_INSTANT_PRIVATE;
57 
58 void IR_TXRegisterToUtopia(FUtopiaOpen ModuleType);
59 MS_U32 IR_TXOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute);
60 MS_U32 IR_TXIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs);
61 MS_U32 IR_TXClose(void* pInstance);
62 
63 
64 MS_BOOL _MDrv_IR_TX_SetStatus(MS_U16 Status);
65 MS_BOOL _MDrv_IR_TX_SetMemStatus(MS_U16 Status);
66 MS_BOOL _MDrv_IR_TX_SetClkDiv(MS_U8 Div);
67 MS_BOOL _MDrv_IR_TX_SetDelayCycleTime(MS_U16 CycleTime_H, MS_U16 CycleTime_L);
68 MS_BOOL _MDrv_IR_TX_SetMemAddr(MS_U16 MemAddr);
69 MS_BOOL _MDrv_IR_TX_SetMemData(MS_U16 MemData);
70 MS_BOOL _MDrv_IR_TX_SetUnitValue(MS_U16 Unit_Value, MS_U8 Unit_Number);
71 MS_BOOL _MDrv_IR_TX_SetShotCount(MS_U16 H_ShotCount, MS_U16 L_ShotCount, MS_U8 Unit_Number);
72 MS_BOOL _MDrv_IR_TX_Init(void);
73 MS_BOOL _MDrv_IR_TX_Trigger(void);
74 MS_BOOL _MDrv_IR_TX_SetCarrierCount(MS_U16 Count);
75 #endif
76