6 \brief In this file we define the structure for Command Packet.
8 In this file we define the structure for Command Packet and the control unit
18 * [WCXRP00000077] [MT6620 Wi-Fi][Driver][FW] Eliminate use of ENUM_NETWORK_TYPE_T and replaced by ENUM_NETWORK_TYPE_INDEX_T only
19 * remove ENUM_NETWORK_TYPE_T definitions
21 * 09 03 2010 kevin.huang
23 * Refine #include sequence and solve recursive/nested #include issue
27 * 1) MMPDUs are now sent to MT6620 by CMD queue for keeping strict order of 1X/MMPDU/CMD packets
28 * 2) integrate with qmGetFrameAction() for deciding which MMPDU/1X could pass checking for sending
29 * 2) enhance CMD_INFO_T descriptor number from 10 to 32 to avoid descriptor underflow under concurrent network operation
33 * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
36 * [WPD00003841][LITE Driver] Migrate RLM/CNM to host driver
43 /*******************************************************************************
44 * C O M P I L E R F L A G S
45 ********************************************************************************
48 /*******************************************************************************
49 * E X T E R N A L R E F E R E N C E S
50 ********************************************************************************
53 /*******************************************************************************
55 ********************************************************************************
58 /*******************************************************************************
60 ********************************************************************************
63 typedef enum _COMMAND_TYPE
{
64 COMMAND_TYPE_GENERAL_IOCTL
,
65 COMMAND_TYPE_NETWORK_IOCTL
,
66 COMMAND_TYPE_SECURITY_FRAME
,
67 COMMAND_TYPE_MANAGEMENT_FRAME
,
69 } COMMAND_TYPE
, *P_COMMAND_TYPE
;
71 typedef VOID(*PFN_CMD_DONE_HANDLER
) (IN P_ADAPTER_T prAdapter
,
72 IN P_CMD_INFO_T prCmdInfo
, IN PUINT_8 pucEventBuf
);
74 typedef VOID(*PFN_CMD_TIMEOUT_HANDLER
) (IN P_ADAPTER_T prAdapter
, IN P_CMD_INFO_T prCmdInfo
);
77 QUE_ENTRY_T rQueEntry
;
79 COMMAND_TYPE eCmdType
;
81 UINT_16 u2InfoBufLen
; /* This is actual CMD buffer length */
82 PUINT_8 pucInfoBuffer
; /* May pointer to structure in prAdapter */
83 P_NATIVE_PACKET prPacket
; /* only valid when it's a security frame */
85 ENUM_NETWORK_TYPE_INDEX_T eNetworkType
;
86 UINT_8 ucStaRecIndex
; /* only valid when it's a security frame */
88 PFN_CMD_DONE_HANDLER pfCmdDoneHandler
;
89 PFN_CMD_TIMEOUT_HANDLER pfCmdTimeoutHandler
;
91 BOOLEAN fgIsOid
; /* Used to check if we need indicate */
96 BOOLEAN fgDriverDomainMCR
; /* Access Driver Domain MCR, for CMD_ID_ACCESS_REG only */
98 UINT_32 u4SetInfoLen
; /* Indicate how many byte we read for Set OID */
100 /* information indicating by OID/ioctl */
101 PVOID pvInformationBuffer
;
102 UINT_32 u4InformationBufferLength
;
105 UINT_32 u4PrivateData
;
109 /*******************************************************************************
110 * P U B L I C D A T A
111 ********************************************************************************
114 /*******************************************************************************
115 * P R I V A T E D A T A
116 ********************************************************************************
119 /*******************************************************************************
121 ********************************************************************************
124 /*******************************************************************************
125 * F U N C T I O N D E C L A R A T I O N S
126 ********************************************************************************
128 VOID
cmdBufInitialize(IN P_ADAPTER_T prAdapter
);
130 P_CMD_INFO_T
cmdBufAllocateCmdInfo(IN P_ADAPTER_T prAdapter
, IN UINT_32 u4Length
);
132 VOID
cmdBufFreeCmdInfo(IN P_ADAPTER_T prAdapter
, IN P_CMD_INFO_T prCmdInfo
);
134 /*----------------------------------------------------------------------------*/
135 /* Routines for CMDs */
136 /*----------------------------------------------------------------------------*/
138 wlanSendSetQueryCmd(IN P_ADAPTER_T prAdapter
,
143 PFN_CMD_DONE_HANDLER pfCmdDoneHandler
,
144 PFN_CMD_TIMEOUT_HANDLER pfCmdTimeoutHandler
,
145 UINT_32 u4SetQueryInfoLen
,
146 PUINT_8 pucInfoBuffer
,
147 OUT PVOID pvSetQueryBuffer
, IN UINT_32 u4SetQueryBufferLen
);
150 /*******************************************************************************
152 ********************************************************************************
154 #endif /* _CMD_BUF_H */