small-packages/lean/mt/mtk_apcli/src/mtk.h
2026-05-10 09:48:30 +08:00

71 lines
1.6 KiB
C

#ifndef __MTK_H__
#define __MTK_H__
#define MAC_ADDR_LENGTH 6
#define MAX_NUMBER_OF_MAC 256
typedef unsigned char UCHAR;
typedef char CHAR;
typedef unsigned int UINT32;
typedef unsigned short USHORT;
typedef short SHORT;
typedef unsigned long ULONG;
#if WIRELESS_EXT <= 11
#ifndef SIOCDEVPRIVATE
#define SIOCDEVPRIVATE 0x8BE0
#endif
#define SIOCIWFIRSTPRIV SIOCDEVPRIVATE
#endif
#define RTPRIV_IOCTL_SET (SIOCIWFIRSTPRIV + 0x02)
#define RTPRIV_IOCTL_GSITESURVEY (SIOCIWFIRSTPRIV + 0x0D)
#define RTPRIV_IOCTL_GET_MAC_TABLE (SIOCIWFIRSTPRIV + 0x0F)
#define RTPRIV_IOCTL_GET_MAC_TABLE_STRUCT (SIOCIWFIRSTPRIV + 0x1F)
#define MODE_CCK 0
#define MODE_OFDM 1
#define MODE_HTMIX 2
/* MIMO Tx parameter, ShortGI, MCS, STBC, etc. these are fields in TXWI. Don't change this definition!!! */
typedef union _MACHTTRANSMIT_SETTING {
struct {
USHORT MCS:6;
USHORT ldpc:1;
USHORT BW:2;
USHORT ShortGI:1;
USHORT STBC:1;
USHORT eTxBF:1;
USHORT iTxBF:1;
USHORT MODE:3;
} field;
USHORT word;
} MACHTTRANSMIT_SETTING, *PMACHTTRANSMIT_SETTING;
typedef struct _RT_802_11_MAC_ENTRY {
UCHAR ApIdx;
UCHAR Addr[MAC_ADDR_LENGTH];
UCHAR Aid;
UCHAR Psm; /* 0:PWR_ACTIVE, 1:PWR_SAVE */
UCHAR MimoPs; /* 0:MMPS_STATIC, 1:MMPS_DYNAMIC, 3:MMPS_Enabled */
CHAR AvgRssi0;
CHAR AvgRssi1;
CHAR AvgRssi2;
UINT32 ConnectedTime;
MACHTTRANSMIT_SETTING TxRate;
UINT32 LastRxRate;
} RT_802_11_MAC_ENTRY, *PRT_802_11_MAC_ENTRY;
typedef struct _RT_802_11_MAC_TABLE {
ULONG Num;
RT_802_11_MAC_ENTRY Entry[MAX_NUMBER_OF_MAC];
} RT_802_11_MAC_TABLE, *PRT_802_11_MAC_TABLE;
typedef struct _CH_FREQ_MAP_{
int channel;
int freqMHz;
}CH_FREQ_MAP;
#endif // __MTK_H__