📄 rtmp_type.h
字号:
/*************************************************************************** * RT2x00 SourceForge Project - http://rt2x00.sourceforge.net * * * * 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 * -------- ---------- ------------------------------- * Name Date Modification logs * Jan Lee 2005-06-01 Release * MathiasK 04-07-2005 Endian fix ***************************************************************************/#ifndef __RTMP_TYPE_H__#define __RTMP_TYPE_H__typedef unsigned short UINT16;typedef unsigned long UINT32;typedef unsigned long long UINT64;// 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 // Little_Endian#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 _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 _CIPHER_SUITE_STRUCT { UCHAR Oui[3]; UCHAR Type;} CIPHER_SUITE_STRUCT, *PCIPHER_SUITE_STRUCT;// Authentication and Key Management suite selectortypedef struct _AKM_SUITE_STRUCT { UCHAR Oui[3]; UCHAR Type;} AKM_SUITE_STRUCT, *PAKM_SUITE_STRUCT;// 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 // __RTMP_TYPE_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -