| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- /*
- ** Id:
- */
- /*! \file "cmd_buf.h"
- \brief In this file we define the structure for Command Packet.
- In this file we define the structure for Command Packet and the control unit
- of MGMT Memory Pool.
- */
- /*
- ** Log: cmd_buf.h
- **
- ** 01 21 2013 terry.wu
- ** [BORA00002207] [MT6630 Wi-Fi] TXM & MQM Implementation
- ** Update TX path based on new ucBssIndex modifications.
- **
- ** 01 17 2013 cm.chang
- ** [BORA00002149] [MT6630 Wi-Fi] Initial software development
- ** Use ucBssIndex to replace eNetworkTypeIndex
- **
- ** 09 17 2012 cm.chang
- ** [BORA00002149] [MT6630 Wi-Fi] Initial software development
- ** Duplicate source from MT6620 v2.3 driver branch
- ** (Davinci label: MT6620_WIFI_Driver_V2_3_120913_1942_As_MT6630_Base)
- *
- * 10 04 2010 cp.wu
- * [WCXRP00000077] [MT6620 Wi-Fi][Driver][FW] Eliminate use of ENUM_NETWORK_TYPE_T and replaced by
- * ENUM_NETWORK_TYPE_INDEX_T only
- * remove ENUM_NETWORK_TYPE_T definitions
- *
- * 09 03 2010 kevin.huang
- * NULL
- * Refine #include sequence and solve recursive/nested #include issue
- *
- * 07 13 2010 cp.wu
- *
- * 1) MMPDUs are now sent to MT6620 by CMD queue for keeping strict order of 1X/MMPDU/CMD packets
- * 2) integrate with qmGetFrameAction() for deciding which MMPDU/1X could pass checking for sending
- * 2) enhance CMD_INFO_T descriptor number from 10 to 32 to avoid descriptor underflow
- * under concurrent network operation
- *
- * 07 08 2010 cp.wu
- *
- * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
- *
- * 07 01 2010 cm.chang
- * [WPD00003841][LITE Driver] Migrate RLM/CNM to host driver
- * Enable change log
- */
- #ifndef _CMD_BUF_H
- #define _CMD_BUF_H
- /*******************************************************************************
- * C O M P I L E R F L A G S
- ********************************************************************************
- */
- /*******************************************************************************
- * E X T E R N A L R E F E R E N C E S
- ********************************************************************************
- */
- /*******************************************************************************
- * C O N S T A N T S
- ********************************************************************************
- */
- /*******************************************************************************
- * D A T A T Y P E S
- ********************************************************************************
- */
- typedef enum _COMMAND_TYPE {
- COMMAND_TYPE_GENERAL_IOCTL,
- COMMAND_TYPE_NETWORK_IOCTL,
- COMMAND_TYPE_SECURITY_FRAME,
- COMMAND_TYPE_MANAGEMENT_FRAME,
- COMMAND_TYPE_NUM
- } COMMAND_TYPE, *P_COMMAND_TYPE;
- typedef VOID(*PFN_CMD_DONE_HANDLER) (IN P_ADAPTER_T prAdapter, IN P_CMD_INFO_T prCmdInfo, IN PUINT_8 pucEventBuf);
- typedef VOID(*PFN_CMD_TIMEOUT_HANDLER) (IN P_ADAPTER_T prAdapter, IN P_CMD_INFO_T prCmdInfo);
- struct _CMD_INFO_T {
- QUE_ENTRY_T rQueEntry;
- COMMAND_TYPE eCmdType;
- UINT_16 u2InfoBufLen; /* This is actual CMD buffer length */
- PUINT_8 pucInfoBuffer; /* May pointer to structure in prAdapter */
- P_MSDU_INFO_T prMsduInfo; /* only valid when it's a security/MGMT frame */
- P_NATIVE_PACKET prPacket; /* only valid when it's a security frame */
- UINT_8 ucBssIndex;
- UINT_8 ucStaRecIndex; /* only valid when it's a security frame */
- PFN_CMD_DONE_HANDLER pfCmdDoneHandler;
- PFN_CMD_TIMEOUT_HANDLER pfCmdTimeoutHandler;
- BOOLEAN fgIsOid; /* Used to check if we need indicate */
- UINT_8 ucCID;
- BOOLEAN fgSetQuery;
- BOOLEAN fgNeedResp;
- BOOLEAN fgDriverDomainMCR; /* Access Driver Domain MCR, for CMD_ID_ACCESS_REG only */
- UINT_8 ucCmdSeqNum;
- UINT_32 u4SetInfoLen; /* Indicate how many byte we read for Set OID */
- /* information indicating by OID/ioctl */
- PVOID pvInformationBuffer;
- UINT_32 u4InformationBufferLength;
- /* private data */
- UINT_32 u4PrivateData;
- };
- /*******************************************************************************
- * P U B L I C D A T A
- ********************************************************************************
- */
- /*******************************************************************************
- * P R I V A T E D A T A
- ********************************************************************************
- */
- /*******************************************************************************
- * M A C R O S
- ********************************************************************************
- */
- /*******************************************************************************
- * F U N C T I O N D E C L A R A T I O N S
- ********************************************************************************
- */
- VOID cmdBufInitialize(IN P_ADAPTER_T prAdapter);
- P_CMD_INFO_T cmdBufAllocateCmdInfo(IN P_ADAPTER_T prAdapter, IN UINT_32 u4Length);
- VOID cmdBufFreeCmdInfo(IN P_ADAPTER_T prAdapter, IN P_CMD_INFO_T prCmdInfo);
- /*----------------------------------------------------------------------------*/
- /* Routines for CMDs */
- /*----------------------------------------------------------------------------*/
- WLAN_STATUS
- wlanSendSetQueryCmd(IN P_ADAPTER_T prAdapter,
- UINT_8 ucCID,
- BOOLEAN fgSetQuery,
- BOOLEAN fgNeedResp,
- BOOLEAN fgIsOid,
- PFN_CMD_DONE_HANDLER pfCmdDoneHandler,
- PFN_CMD_TIMEOUT_HANDLER pfCmdTimeoutHandler,
- UINT_32 u4SetQueryInfoLen,
- PUINT_8 pucInfoBuffer, OUT PVOID pvSetQueryBuffer, IN UINT_32 u4SetQueryBufferLen);
- /*******************************************************************************
- * F U N C T I O N S
- ********************************************************************************
- */
- #endif /* _CMD_BUF_H */
|