⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wmm.h

📁 此压缩包为杰得开发得z228的BSP的源代码,可以实现很多功能,尤其是视频解码有很好的效果.
💻 H
字号:
#ifndef __WMM__H
#define __WMM__H

#ifdef _DEBUG
    #define DbgWmmMsg(str)      NKDbgPrintfW str
#else
    #define DbgWmmMsg(str)
#endif

enum AC_QUEUES {
	AC_PRIO_BE,
	AC_PRIO_BK,
	AC_PRIO_VI,
	AC_PRIO_VO,
	MAX_AC_QUEUES
};

#define WMM_GET_PACKET_MR(_p)         (&(_p)->MiniportReserved[0]) 

#define CMD_ACT_GET     0
#define CMD_ACT_SET     1
#define	CMD_DISABLED	0
#define	CMD_ENABLED	1

#define WMM_AC_NUMBER                           4
#define WMM_TSPEC				2
#define WMM_ACK_POLICY				3
#define WMM_PARA_IE				4
#define WMM_ACK_POLICY_PRIO			4

#define WMM_IE_LENGTH				0x0009
#define WMM_PARA_IE_LENGTH			0x0018
#define WMM_QOS_INFO_OFFSET			(0x08)
#define WMM_QOS_INFO_UAPSD_BIT			(0x80)

#define HostCmd_CMD_802_11_WMM_GET_TSPEC	0x006E
#define HostCmd_CMD_802_11_WMM_ADD_TSPEC	0x006F
#define HostCmd_CMD_802_11_WMM_REMOVE_TSPEC	0x0070
#define HostCmd_CMD_802_11_WMM_ACK_POLICY	0x005C
#define HostCmd_CMD_802_11_WMM_PRIO_PKT_AVAIL	0x005D
#define HostCmd_CMD_802_11_WMM_GET_STATUS	0x0071
#define HostCmd_RET_802_11_WMM_GET_TSPEC	0x806E
#define HostCmd_RET_802_11_WMM_ADD_TSPEC	0x806F
#define HostCmd_RET_802_11_WMM_REMOVE_TSPEC	0x8070
#define HostCmd_RET_802_11_WMM_ACK_POLICY	0x805C
#define HostCmd_RET_803_11_WMM_PRIO_PKT_AVAIL	0x805D
#define HostCmd_RET_802_11_WMM_GET_STATUS	0x8071
#define HostCmd_ACT_MAC_WMM_ENABLE		0x0800
#define MACREG_INT_CODE_WMM_STATUS_CHANGE	0x00000014

#define IPTOS_OFFSET           5
#define MIN_IP_PKT_LEN         34   // 14 + 20

#define WMM_ACK_POLICY_NO_ACK        1
#define WMM_ACK_POLICY_IMM_ACK      0

#define WMM_UAPSD_DEFAULT_SLEEP_PERIOD      60

#pragma pack(1)

typedef struct _WMM_AC_STATUS {
	UCHAR	Disabled;
	UCHAR	TriggeredPS;
	UCHAR	FlowDirection;
	UCHAR	FlowRequired;
	UCHAR	FlowCreated;
	ULONG	MediumTime;
}WMM_AC_STATUS, *PWMM_AC_STATUS;

#define WMM_AC_STATUS_SIZE     WMM_AC_NUMBER * sizeof(WMM_AC_STATUS)                      

typedef struct _WMM_DESC
{
	UCHAR		required;
	UCHAR		enabled;
	UCHAR		fw_notify;
	UCHAR		acstatus;	/* x x x x O I K E --- 1=disabled 0=enabled */
	//Q_KEEPER	TxPktQ[MAX_AC_QUEUES];   move to Adapter , dralee
	UCHAR		Para_IE[WMM_PARA_IE_LENGTH];
#ifdef WMM_UAPSD
	UCHAR		qosinfo;
        UCHAR           WmmUapsdEnabled;
#endif
}WMM_DESC,*PWMM_DESC;

 
#pragma pack()

typedef struct _MRVDRV_ADAPTER *PMRVDRV_ADAPTER;

void wmm_cleanup_queues(PMRVDRV_ADAPTER);
int wlan_wmm_enable_ioctl(PMRVDRV_ADAPTER, PVOID);
VOID wmm_update_status_from_cmd_resp( PMRVDRV_ADAPTER Adapter );
VOID wmm_set_ack_policy( PMRVDRV_ADAPTER Adapter, UCHAR nAC, UCHAR nPolicy );
UCHAR wmm_get_tos(PNDIS_PACKET pPacket);
NDIS_STATUS wmm_set_sleep_period( PMRVDRV_ADAPTER Adapter, USHORT nPeriod );

#ifdef WMM_UAPSD
NDIS_STATUS SendNullPacket( IN PMRVDRV_ADAPTER Adapter, UCHAR pm );
#endif

#ifdef WMM_USE_NDIS_EXT
UCHAR wmm_get_pkt_priority( PNDIS_PACKET Packet );
#endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -