亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wlan_pmufsm.h

?? marvell8385 GSPI開發驅動
?? H
字號:
/************************************************************
Copyright (c) Paragon Wireless Co.,LTD.
ALL RIGHTS RESERVED
Description:  WLAN PMU模塊狀態機的相關定義,包括:
              fsm;
              fsm_callbacks;
              宏定義;
*************************************************************/
#ifndef ParaWlanPMUFsm_H
#define ParaWlanPMUFsm_H

#ifdef __cplusplus
extern "C" {
#endif

#include "precomp.h"
#include "Pmpolicy.h"
#include "Nkintr.h"
#ifdef _WIN32_WCE
#include <Iphlpapi.h>
#endif
#include <pm.h>
#include "Omap730_gspx.h"

/////////////roaming process
#include "ParaRoamingProc.h"

#ifdef DEBUG_PARA_ROAMING
extern PRIVATE_PARAROAMING_ADAPTER priv;
#endif

//power state
#define WLAN_PMU_FSM_STATUS_DISCONNECTED    0
#define WLAN_PMU_FSM_STATUS_CONNECTED          1
#define WLAN_PMU_FSM_STATUS_SLEEP                   2
#define WLAN_PMU_FSM_STATUS_DEEP_SLEEP         3
#define WLAN_PMU_FSM_STATUS_POWER_OFF          4

//timer
#define WLAN_PMU_TIMEOUT_VALUE (3000)
#define WLAN_PMU_HOST_SLEEP_CONFIRM_TIMEOUT_VALUE (3000)
#define WLAN_PMU_EXIT_DEEP_SLEEP_TIMEOUT_VALUE (3000)
#define WLAN_PMU_EXIT_SLEEP_TIMEOUT_VALUE (5000)
#define WLAN_PMU_TIMEOUT_TIMES 5
#define WLAN_PMU_CMD_TIMEOUT (20000)
#define WLAN_PMU_SLEEP_MODE_LOCALNET_TIMEOUT (90000)
#define WLAN_PMU_SLEEP_MODE_CPU_RUN_TIMEOUT (90000)
#define WLAN_PMU_DHCP_BUSY_TIMEOUT (40000)
#define WLAN_PMU_GET_IP_TABLE_TIMEOUT (10000)
#define WLAN_PMU_TX_PKT_STAT_INTERVAL (60000)
#define WLAN_PMU_ARP_ENTRY_KEEPING_INTERVAL (30000)
#define WLAN_PMU_ADAPTER_CHECK_TIMEOUT (5000)
//
#define WLAN_PMU_HIGH_PRIO_CMD_RESUME_DEV  0x01   
#define WLAN_PMU_HIGH_PRIO_CMD_CPU_STANDBY 0x02  
#define WLAN_PMU_HIGH_PRIO_CMD_PS_CONFIRM  0x04  
#define WLAN_PMU_HIGH_PRIO_CMD_CARD_RESTART 0x08

#define WLAN_PMU_PACKET_FILTER_ARP 1    
#define WLAN_PMU_PACKET_FILTER_SIP 2    

//wakeup source
#define WLAN_PMU_WAKEUP_RTC        1    
#define WLAN_PMU_WAKEUP_GPIO93     2    
#define WLAN_PMU_WAKEUP_GPIO15     3    
#define WLAN_PMU_WAKEUP_GPIO1     4    
#define WLAN_PMU_WAKEUP_GPIO0     5    
#define WLAN_PMU_WAKEUP_GPIO10    6
#define WLAN_PMU_WAKEUP_MODULE  7
#define WLAN_PMU_WAKEUP_FLIP    8
#define WLAN_PMU_WAKEUP_SD  9

//fsm command
#define WLAN_PMU_CMD_APP_SLEEP   1
#define WLAN_PMU_CMD_LINKSTATUS 3
#define WLAN_PMU_CMD_NET_EVENT  4
#define WLAN_PMU_CMD_SLEEP_CONFIRM 5
#define WLAN_PMU_CMD_APP_WAKEUP 6
#define WLAN_PMU_CMD_GET_SLEEP_RESPONSE 7
#define WLAN_PMU_CMD_GET_SLEEP_MODE_AWAKE_RESPONSE 8
#define WLAN_PMU_CMD_ENTER_SLEEP_TIMEOUT 9
#define WLAN_PMU_CMD_ENTER_DEEP_SLEEP_AWAKE 10
#define WLAN_PMU_CMD_DEEP_SLEEP_ASSOCIATE_FAILED 11
#define WLAN_PMU_CMD_EXIT_DEEP_SLEEP_TIMEOUT 12
#define WLAN_PMU_CMD_APP_BACKLIGHT_CTRL 13
#define WLAN_PMU_CMD_DEEP_SLEEP_SCAN_ASSOCIATE 14
#define WLAN_PMU_CMD_EXIT_SLEEP_TIMEOUT 15
#define WLAN_PMU_CMD_DEEP_SLEEP_CLOSE_CPU_TIMEOUT 16
#define WLAN_PMU_CMD_TX_PACKET_TIMEOUT 17
#define WLAN_PMU_CMD_TX_CMD_TIMEOUT 18
#define WLAN_PMU_CMD_SLEEP_MODE_CPU_RUN_TIMEOUT 19
#define WLAN_PMU_CMD_LOCALNET_WAKEUP 20
#define WLAN_PMU_CMD_LOCALNET_SLEEP 21
#define WLAN_PMU_CMD_REBOOT_CARD 22
#define WLAN_PMU_CMD_REASSO_TIMEOUT 23
#define WLAN_PMU_CMD_SLEEP_AWAKE 24
#define WLAN_PMU_CMD_HOST_SLEEP_AWAKE 25
#define WLAN_PMU_CMD_POWER_DOWN 26
#define WLAN_PMU_CMD_POWER_UP 27
#define WLAN_PMU_CMD_PKT_DELAY_TX_TIMEOUT 28
#define WLAN_PMU_CMD_ENTER_DEEP_SLEEP_TIMEOUT 29
#define WLAN_PMU_CMD_HOST_SLEEP_CONFIRM_TIMEOUT 30
#define WLAN_PMU_CMD_GET_HOST_SLEEP_CONFIRM_RESP 31
#define WLAN_PMU_CMD_ENTER_DEEP_SLEEP_RESP 32
#define WLAN_PMU_CMD_LOW_DATA_RATE 33
#define WLAN_PMU_CMD_HOST_WAKEUP_CARD 34
#define WLAN_PMU_CMD_TURN_OFF_CARD_TIMEOUT 35

typedef struct WlanPmuCmdListNode{
	int cmd_type;
	int args;
	unsigned int argv[3];
	struct WlanPmuCmdListNode *next;
}WlanPmuCmdListNode;
#define HOST_NAME_MAX_LEN 20
#define MAXRPNAMELEN		16

typedef struct tagNetReportUnit
{
	char RPName[MAXRPNAMELEN];
	long RPValue;
}NetReportUnit;

typedef struct tagNetReport
{
	long RPNumber;
	NetReportUnit	RPUnit[9];
}NetReport;
typedef struct WlanPmuArpPacket{
	unsigned char dst_mac[6];
	unsigned char src_mac[6];
	unsigned short type;
	unsigned short hw_type;
	unsigned short protocol_type;
	unsigned char hw_size;
	unsigned char protocol_size;
	unsigned short code;
	unsigned char sender_mac[6];
	unsigned char sender_ip[4];
	unsigned char target_mac[6];
	unsigned char target_ip[4];
	unsigned char trailer[18];
}WlanPmuArpPacket; //__attribute__((packed)) 

/* FINITE STATE MACHINE */
typedef struct WlanPmuCB{
    PMRVDRV_ADAPTER   adapter;                       /* WLAN設備控制塊 */
#ifdef DEBUG_PARA_ROAMING
    PPRIVATE_PARAROAMING_ADAPTER ppriv;
#endif

    int  iState;                                /* State */
    HANDLE   queue;
    HANDLE standby_que;
    int iCPUSleepMode;							/* 0 SLEEP/1 DEEP SLEEP */

    int iHighPrioCmdType;						/* 0 SLEEP/1 DEEP SLEEP */
    WlanPmuCmdListNode *head;
    WlanPmuCmdListNode *tail;
    HANDLE 	queue_mutex;
    int iCurrentCmdCount;
    unsigned long dwSleepRTCTimeout;        	/* Sleep RTC timeout value */
    unsigned long dwDeepSleepRTCTimeout;        /* Deep sleep RTC timeout value */
    unsigned long dwDTIMMultiple;
    int iDeviceShutDown;
    int iLocalNetBusy;

    //Wlan App Busy flag bit def:  bit0:sysInit value; bit1:VoIP; bit2:MSN/IE; 
    int iWlanAppStatusActive; // wlan app status
    int iLinkStatus;
    
    struct PMUFsmCallbacks *callbacks;          /* Callback routines */
    int iSleepCmdTimeoutTimes;
    int iExitSleepCmdTimeoutTimes;
    int iEnterDSCmdTimeoutTimes;
    int iExitDSAssociateTimeoutTimes;
    int iExitDSCmdTimeoutTimes;
    #define DEEP_SLEEP_RTC_WAKEUP_MAX_COUNT 3
    int iDeepSleepRTCWakeUpCount;
    int iDeepSleepRTCWakeUpTotalCount;
    unsigned long ulBackLightLevel;
    int iIsExitingDeepSleep;
    int iIsinSleepMode;
    BOOLEAN iNoenterSleepBecauseInroaming;
    BOOLEAN bSwitchSleepNoSleep;
    BOOLEAN bFromUserIdleToOnState;
    BOOLEAN bSetReassociateTimer;
    PNDIS_PACKET skb;
    int iIsIncomingCallWakeup;
    CRITICAL_SECTION     IntCriticalSection;     


    NDIS_MINIPORT_TIMER 	stSleepCmdTimer;
    NDIS_MINIPORT_TIMER 	stHostSleepConfirmTimer;
    int iHostSleepConfirmTimerSetted;
    NDIS_MINIPORT_TIMER 	stExitDSCmdTimer;    
    NDIS_MINIPORT_TIMER 	stEnterDSCmdTimer;    
    NDIS_MINIPORT_TIMER  stExitSleepCmdTimer;
    NDIS_MINIPORT_TIMER  stExitDSAssociateTimer;
    NDIS_MINIPORT_TIMER stTxCmdTimer;
#ifndef _WIN32_WCE
    NDIS_MINIPORT_TIMER stSleepModeCPURunTimer;
#endif
 
    NDIS_MINIPORT_TIMER 	stDHCPTimer;
    int iDHCPTimerSetted;
    NDIS_MINIPORT_TIMER 	stAdapterCheckTimer;
    int iAdapterCheckTimerSetted;
    
#ifdef CONFIG_WLAN_PMU_ARP_RESPONSE
    NDIS_MINIPORT_TIMER 	stGetIPNetTableTimer;
    int iGetIPNetTableTimerSetted;
#endif    
    NDIS_MINIPORT_TIMER 	stReassociateTimer;
    NDIS_MINIPORT_TIMER 	stTxPktStatTimer;
    int iTxPktStatTimerSeted;
    DWORD dwTxPktCount;
    NDIS_MINIPORT_TIMER 	stHostWakeUpTimer;
    int iHostWakeUpTimerSeted;
#ifdef CONFIG_WLAN_PMU_ARP_REQUEST
    NDIS_MINIPORT_TIMER 	stArpReqSendTimer;
    int iArpReqSendTimerSeted;
#endif
    DWORD dwIfIndex;
    DWORD dwLastHostWakeTime;
    int iRebootTimerCount;
#ifdef CONFIG_WLAN_PMU_ARP_RESPONSE
    int iARPFieldGot;
    int iARPRespCount;
#endif
    WlanPmuArpPacket	stARPBuffer;
#ifdef _WIN32_WCE
    IP_ADDR_STRING IPAddr;
    IP_ADDR_STRING Gateway;
    unsigned int AddressLength;
    BYTE MacAddress[MAX_ADAPTER_ADDRESS_LENGTH];
    unsigned long dwSIPSvrIpaddr;
    BYTE abySIPMacAddr[MAX_ADAPTER_ADDRESS_LENGTH];
    BYTE abyGWMacAddr[MAX_ADAPTER_ADDRESS_LENGTH];
#else
    NetReport	stIfNetPrep;
#endif
    int iGotIfNetPrep;
    int iGotRelatedAPs;
    int iGotRelatedAPsOldStatus;
    int iCurrentDeepSleepIntervalIndex;
    int iSendIndex;
    int iSDBusAppStatus;
    int iDeepSleepRestartInterval;
    int iInitCompleted;
    HANDLE	wakeup_q;	
    HANDLE hPowerNotify;
    
    HHOOK hKeyBDHook;
    HANDLE hSnapShot;

    HANDLE hWlanSleepStatusThread;
    HANDLE hWlanSleepStatusEvent;
    HANDLE hKeybadProcEvent;
    HANDLE hAppStatusCheckTimerEvent;
    HANDLE hIPAddrChangedEvent;	
    HANDLE hIPAddrChangedRegisted;	
    HANDLE hAdapterCheckEvent;
    BOOLEAN registerKeyboard;
    PROCESSENTRY32 keybadinfo;
    NDIS_MINIPORT_TIMER 	stKeybadProcTimer;
    NDIS_MINIPORT_TIMER 	stTurnWlanProcTimer;
}WlanPmuCB;

/* 定義狀態機的動作 */
typedef struct PMUFsmCallbacks PMUFsmCallbacks;
struct PMUFsmCallbacks
{
    int (*ResetCBInfo)          (WlanPmuCB *);
    int (*CardEnterSleep)       (WlanPmuCB *);
    int (*CardExitSleep)        (WlanPmuCB *);
    int (*CardEnterDeepSleep)   (WlanPmuCB *);
    int (*CardReEnterDeepSleep)   (WlanPmuCB *);
    int (*CardExitDeepSleep)    (WlanPmuCB *);
    DWORD (*CardEnterStandby)      (WlanPmuCB *f, int iRTCMod);
    int (*RebootCard)	(WlanPmuCB *);
    int (*PowerDownCard)	(WlanPmuCB *);
    int (*PowerUpCard)	(WlanPmuCB *);
};

/* 對外接口 */
void wlan_PMUInit (IN PMRVDRV_ADAPTER adapter);
void wlan_PMUAppSleep (void);
void wlan_PMUAppWakeUp (void);
int wlan_PMUPacketsFilter (PNDIS_PACKET skb, BYTE * data, int iLength);
void wlan_PMUSleepConfirmed (void);

/* function declare*/
static void pmu_FsmSleepCmdTimeout (WlanPmuCB *pCB);
static void pmu_FsmRebootCard (WlanPmuCB *pCB);
static void pmu_FsmExitSleepCmdTimeout (WlanPmuCB *pCB);
static void pmu_FsmDSScanAndAssociate (WlanPmuCB *pCB);
static void pmu_FsmRTCTimeout (WlanPmuCB *pCB);
static void pmu_FsmSleepModeCPURunTimeout (WlanPmuCB *pCB);
static void pmu_FsmExitDeepSleepCmdTimeout (WlanPmuCB *pCB);
//static void pmu_FsmDeepSleepCloseCPUTimeout (WlanPmuCB *pCB);
void wlan_TurnOnCard();
void wlan_TurnOffCard();
void wlan_PMUSystemEventThread(PVOID pContext);


#ifdef __cplusplus
}
#endif


#endif /* ParaWlanPMUFsm_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产免费人成电影在线观看四季 | 免费成人性网站| 在线观看视频91| 亚洲一区视频在线观看视频| 欧美性感一类影片在线播放| 性感美女极品91精品| 91精品国产高清一区二区三区蜜臀 | 一色屋精品亚洲香蕉网站| av动漫一区二区| 亚洲高清久久久| 欧美成人伊人久久综合网| 国产在线精品国自产拍免费| 欧美国产在线观看| 91日韩精品一区| av不卡在线观看| 亚洲一区二区欧美| 日韩一区二区三区三四区视频在线观看 | 色综合天天综合| 亚洲国产日韩精品| 日韩久久免费av| 成人免费三级在线| 亚洲制服丝袜av| 欧美va天堂va视频va在线| 成人深夜在线观看| 亚洲国产精品久久人人爱| 日韩一二三区视频| 成人深夜视频在线观看| 天涯成人国产亚洲精品一区av| 日韩欧美的一区二区| 不卡视频在线看| 天天操天天综合网| 国产精品久久综合| 欧美一二区视频| 91蜜桃视频在线| 精品一区二区三区免费播放| 亚洲免费资源在线播放| 久久综合色播五月| 欧美日韩精品久久久| 粉嫩蜜臀av国产精品网站| 午夜不卡av免费| 国产精品久久久久久久第一福利 | 欧美一区二区三区日韩| 欧美大白屁股肥臀xxxxxx| 97se亚洲国产综合自在线| 九九**精品视频免费播放| 亚洲精品精品亚洲| 欧美极品少妇xxxxⅹ高跟鞋| 91精品国产综合久久小美女| 色网综合在线观看| 成人午夜激情片| 国产一区久久久| 三级亚洲高清视频| 一区二区三区日韩欧美| 亚洲国产成人午夜在线一区| 精品毛片乱码1区2区3区| 欧美日韩大陆在线| 欧美性猛片xxxx免费看久爱| 成人app下载| 国产福利一区二区三区视频在线| 天堂蜜桃一区二区三区| 一区二区三区中文在线观看| 国产精品欧美一区喷水| 久久久久久亚洲综合| 欧美一区2区视频在线观看| 欧美亚日韩国产aⅴ精品中极品| gogo大胆日本视频一区| 成人av动漫网站| 成人午夜视频免费看| 欧美一级一级性生活免费录像| 91成人在线精品| 色网站国产精品| 99国产精品一区| av电影在线观看一区| 丁香激情综合国产| 成人美女视频在线观看18| 高清av一区二区| 粉嫩aⅴ一区二区三区四区五区 | 在线观看日韩一区| 91国在线观看| 91高清在线观看| 欧美制服丝袜第一页| 色综合天天综合色综合av| 色婷婷久久久久swag精品| 色婷婷久久99综合精品jk白丝| 99riav一区二区三区| 91麻豆自制传媒国产之光| 色婷婷av一区| 欧美日韩国产精品成人| 欧美一区二区三区人| 精品国产网站在线观看| 国产亚洲精品超碰| **欧美大码日韩| 一级做a爱片久久| 天堂va蜜桃一区二区三区 | 蜜臀va亚洲va欧美va天堂 | 国产69精品久久99不卡| 成人动漫精品一区二区| 91小视频免费观看| 欧美日韩精品一区二区| 日韩一区二区三区四区 | 国产一区二区免费看| www.亚洲激情.com| 欧美日韩一卡二卡三卡| 日韩欧美色综合网站| 久久九九影视网| 成人aaaa免费全部观看| 日本精品一级二级| 日韩一区二区三区在线| 中文字幕av不卡| 性做久久久久久| 国产精品一区二区久久不卡| 91丝袜美腿高跟国产极品老师 | 欧美午夜一区二区三区免费大片| 日韩午夜小视频| 国产精品久久国产精麻豆99网站| 亚洲男女毛片无遮挡| 久久国产尿小便嘘嘘尿| 成人黄色软件下载| 欧美视频一区二区在线观看| 精品欧美乱码久久久久久| 亚洲欧洲制服丝袜| 蜜桃视频一区二区三区| 91尤物视频在线观看| 欧美va日韩va| 亚欧色一区w666天堂| 不卡免费追剧大全电视剧网站| 欧美日韩一区在线观看| 久久九九久久九九| 天天av天天翘天天综合网色鬼国产| 国产精品一区三区| 欧美日韩国产综合一区二区三区| 国产清纯白嫩初高生在线观看91 | 免费观看91视频大全| 国产欧美精品在线观看| 天天做天天摸天天爽国产一区 | 亚洲乱码国产乱码精品精98午夜 | 久久国产三级精品| 欧美在线观看一区| 国产精品丝袜久久久久久app| 美女高潮久久久| 欧美亚州韩日在线看免费版国语版| 国产日韩欧美精品电影三级在线| 日本三级亚洲精品| 色94色欧美sute亚洲13| 国产精品你懂的在线欣赏| 激情另类小说区图片区视频区| 欧美日韩在线三级| 亚洲欧美激情小说另类| 不卡av在线免费观看| 久久久久9999亚洲精品| 日本视频在线一区| 欧美日韩在线播放一区| 亚洲黄色av一区| 91网站视频在线观看| 中文字幕日韩一区| 丰满白嫩尤物一区二区| 久久久久久久综合| 国产一区二区三区在线观看免费视频 | 成人精品鲁一区一区二区| 日韩情涩欧美日韩视频| 亚洲sss视频在线视频| 欧美亚洲一区二区在线观看| 亚洲人成7777| 91色porny| 一个色在线综合| 欧美亚州韩日在线看免费版国语版| 亚洲精品少妇30p| 97精品国产97久久久久久久久久久久| 国产日韩成人精品| 成人在线视频一区二区| 国产精品久久久久久久岛一牛影视 | 国产精品天干天干在观线| 成人一区二区三区视频在线观看| 久久精子c满五个校花| 国产99一区视频免费| 国产女同性恋一区二区| 成人教育av在线| 亚洲欧美日韩中文字幕一区二区三区 | 国产又粗又猛又爽又黄91精品| 欧美一二三四区在线| 免费人成精品欧美精品| 精品日韩在线观看| 黄色精品一二区| 中文在线一区二区| 91麻豆123| 三级影片在线观看欧美日韩一区二区| 88在线观看91蜜桃国自产| 激情图区综合网| 国产精品久久久久7777按摩| 色94色欧美sute亚洲线路一久| 亚洲国产aⅴ成人精品无吗| 欧美一区二区视频在线观看2022| 韩国成人在线视频| 国产精品久久久久久久久免费丝袜 | 日韩电影在线看| 精品国产髙清在线看国产毛片| 粉嫩av一区二区三区在线播放 | 欧美国产禁国产网站cc| 日本福利一区二区| 日本不卡一区二区|