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

📄 rtmp_type.h

📁 r73模块的无线网卡在Linux下的驱动程序
💻 H
字号:
/*************************************************************************** * RT2x00 SourceForge Project - http://rt2x00.serialmonkey.com             * *                                                                         * *   This program is free software; you can redistribute it and/or modify  * *   it under the terms of the GNU General Public License as published by  * *   the Free Software Foundation; either version 2 of the License, or     * *   (at your option) any later version.                                   * *                                                                         * *   This program is distributed in the hope that it will be useful,       * *   but WITHOUT ANY WARRANTY; without even the implied warranty of        * *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         * *   GNU General Public License for more details.                          * *                                                                         * *   You should have received a copy of the GNU General Public License     * *   along with this program; if not, write to the                         * *   Free Software Foundation, Inc.,                                       * *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             * *                                                                         * *   Licensed under the GNU GPL                                            * *   Original code supplied under license from RaLink Inc, 2004.           * ***************************************************************************//*************************************************************************** *	Module Name:	rtmp_type.h * *	Abstract: * *	Revision History: *	Who		When		What *	--------	----------	----------------------------- *	Paul Lin	1-2-2004 * ***************************************************************************/#ifndef __RTMP_TYPE_H__#define __RTMP_TYPE_H__// Put platform dependent declaration here// For example, linux type definition#if defined(PPC) || defined(ARM)#define ALIGN_USB_RCV  __attribute__ ((aligned(2)))#elif defined(mips)#define ALIGN_USB_RCV  __attribute__ ((aligned(4)))#else#define ALIGN_USB_RCV#endif//#ifdef  Linuxtypedef u16      UINT16;typedef u32      UINT32;typedef u64      UINT64;//#endif// Endian byte swapping codes#define SWAP16(x) \    ((UINT16)( \    (((UINT16)(x) & (UINT16) 0x00ffU) << 8) | \    (((UINT16)(x) & (UINT16) 0xff00U) >> 8) ))#define SWAP32(x) \    ((UINT32)( \    (((UINT32)(x) & (UINT32) 0x000000ffUL) << 24) | \    (((UINT32)(x) & (UINT32) 0x0000ff00UL) <<  8) | \    (((UINT32)(x) & (UINT32) 0x00ff0000UL) >>  8) | \    (((UINT32)(x) & (UINT32) 0xff000000UL) >> 24) ))#define SWAP64(x) \    ((UINT64)( \    (UINT64)(((UINT64)(x) & (UINT64) 0x00000000000000ffULL) << 56) | \    (UINT64)(((UINT64)(x) & (UINT64) 0x000000000000ff00ULL) << 40) | \    (UINT64)(((UINT64)(x) & (UINT64) 0x0000000000ff0000ULL) << 24) | \    (UINT64)(((UINT64)(x) & (UINT64) 0x00000000ff000000ULL) <<  8) | \    (UINT64)(((UINT64)(x) & (UINT64) 0x000000ff00000000ULL) >>  8) | \    (UINT64)(((UINT64)(x) & (UINT64) 0x0000ff0000000000ULL) >> 24) | \    (UINT64)(((UINT64)(x) & (UINT64) 0x00ff000000000000ULL) >> 40) | \    (UINT64)(((UINT64)(x) & (UINT64) 0xff00000000000000ULL) >> 56) ))#ifdef BIG_ENDIAN#define PACKED  __attribute__ ((packed))#define cpu2le64(x) SWAP64((x))#define le2cpu64(x) SWAP64((x))#define cpu2le32(x) SWAP32((x))#define le2cpu32(x) SWAP32((x))#define cpu2le16(x) SWAP16((x))#define le2cpu16(x) SWAP16((x))#define cpu2be64(x) ((UINT64)(x))#define be2cpu64(x) ((UINT64)(x))#define cpu2be32(x) ((UINT32)(x))#define be2cpu32(x) ((UINT32)(x))#define cpu2be16(x) ((UINT16)(x))#define be2cpu16(x) ((UINT16)(x))#else   // Little_Endian#ifdef RTMP_EMBEDDED#define PACKED  __attribute__ ((packed))#else#define PACKED		// FIXME Whaaa?#endif  // RTMP_EMBEDDED#define cpu2le64(x) ((UINT64)(x))#define le2cpu64(x) ((UINT64)(x))#define cpu2le32(x) ((UINT32)(x))#define le2cpu32(x) ((UINT32)(x))#define cpu2le16(x) ((UINT16)(x))#define le2cpu16(x) ((UINT16)(x))#define cpu2be64(x) SWAP64((x))#define be2cpu64(x) SWAP64((x))#define cpu2be32(x) SWAP32((x))#define be2cpu32(x) SWAP32((x))#define cpu2be16(x) SWAP16((x))#define be2cpu16(x) SWAP16((x))#endif  // BIG_ENDIAN// Ralink timer control blocktypedef struct  _RALINK_TIMER_STRUCT    {	struct timer_list	 Timer;	ULONG				TimerValue;		// Timer value in milliseconds	BOOLEAN				State;			// True if timer cancelled}   RALINK_TIMER_STRUCT, *PRALINK_TIMER_STRUCT;typedef struct	PACKED _RSN_IE_HEADER_STRUCT	{	UCHAR		Eid;	UCHAR		Length;	USHORT		Version;	// Little endian format}	RSN_IE_HEADER_STRUCT, *PRSN_IE_HEADER_STRUCT;// Cipher suite selector typestypedef struct PACKED _CIPHER_SUITE_STRUCT	{	UCHAR		Oui[3];	UCHAR		Type;}	CIPHER_SUITE_STRUCT, *PCIPHER_SUITE_STRUCT;// Authentication and Key Management suite selectortypedef struct PACKED _AKM_SUITE_STRUCT	{	UCHAR		Oui[3];	UCHAR		Type;}	AKM_SUITE_STRUCT, *PAKM_SUITE_STRUCT;#ifdef BIG_ENDIANtypedef struct	_RSN_CAPABILITY	{	USHORT		PreAuth:1;	USHORT		NoPairwise:1;	USHORT		PTKSAReplayCnt:2;	USHORT		GTKSAReplayCnt:2;	USHORT		Rsv:10;}	RSN_CAPABILITY, *PRSN_CAPABILITY;#else// RSN capabilitytypedef struct	_RSN_CAPABILITY	{	USHORT		Rsv:10;	USHORT		GTKSAReplayCnt:2;	USHORT		PTKSAReplayCnt:2;	USHORT		NoPairwise:1;	USHORT		PreAuth:1;}	RSN_CAPABILITY, *PRSN_CAPABILITY;#endif /* !BIG_ENDIAN */#endif	// __RTMP_TYPE_H__

⌨️ 快捷键说明

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