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

📄 rtmp_type.h

📁 TP Link 321 Linux Driver
💻 H
字号:
/* *************************************************************************** * Ralink Tech Inc. * 4F, No. 2 Technology	5th	Rd. * Science-based Industrial	Park * Hsin-chu, Taiwan, R.O.C. * * (c) Copyright 2002-2006, Ralink Technology, Inc. * * All rights reserved.	Ralink's source	code is	an unpublished work	and	the * use of a	copyright notice does not imply	otherwise. This	source code * contains	confidential trade secret material of Ralink Tech. Any attemp * or participation	in deciphering,	decoding, reverse engineering or in	any * way altering	the	source code	is stricitly prohibited, unless	the	prior * written consent of Ralink Technology, Inc. is obtained. ***************************************************************************     Module Name:    rtmp_type.h    Abstract:    Revision History:    Who         When            What    --------    ----------      ----------------------------------------------    Name        Date            Modification logs    Paul Lin    1-2-2004*/#ifndef __RTMP_TYPE_H__#define __RTMP_TYPE_H__// Put platform dependent declaration here// For example, linux type definition#define PACKED  __attribute__ ((packed))//#ifdef  Linuxtypedef unsigned char		UINT8;typedef unsigned short      UINT16;typedef unsigned long       UINT32;typedef unsigned long long  UINT64;typedef int					INT32;//#endif#ifndef Win32#define Win32//#undef  BIG_ENDIAN          // Only little endian for WIN32 system//// Following type define have been already define in// %include%\basetsd.h     eg. c:\winddk\3790\inc\wxp\basetsd.h//     Defined  Win2k      WinXP//     UINT16     X           O//     UINT32     O           O//     UINT64     X           O#ifdef NDIS50_MINIPORTtypedef unsigned short      UINT16;//typedef   unsigned long       UINT32;typedef unsigned __int64    UINT64;#endif //#ifdef NDIS50_MINIPORT#endif //#ifndef Win32// 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 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#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    {	BOOLEAN				Valid;			// Set to True when call RTMPInitTimer    struct timer_list	TimerObj;       // Ndis Timer object    ULONG               TimerValue;     // Timer value in milliseconds    BOOLEAN             State;          // True if timer cancelled    BOOLEAN             Repeat;         // True if periodic timer	ULONG				cookie;			// os specific object}   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 */typedef struct _CIPHER_KEY {	UCHAR	BssId[6];	UCHAR	CipherAlg;			// 0-none, 1:WEP64, 2:WEP128, 3:TKIP, 4:AES, 5:CKIP64, 6:CKIP128	UCHAR	KeyLen; 			// Key length for each key, 0: entry is invalid	UCHAR	Key[16];			// right now we implement 4 keys, 128 bits max	UCHAR	RxMic[8];	UCHAR	TxMic[8];	UCHAR	TxTsc[6];			// 48bit TSC value	UCHAR	RxTsc[6];			// 48bit TSC value	UCHAR	Type;				// Indicate Pairwise/Group when reporting MIC error}	CIPHER_KEY, *PCIPHER_KEY;#endif	// __RTMP_TYPE_H__

⌨️ 快捷键说明

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