
PHY_11G,
PHY_11ABGN_MIXED,
// both band
5
PHY_11N,
//
6
PHY_11GN_MIXED,
// 2.4G band
7
PHY_11AN_MIXED,
// 5G band
8
PHY_11BGN_MIXED,
// if check 802.11b.
9
PHY_11AGN_MIXED,
// if check 802.11b.
10
} RT_802_11_PHY_MODE
unsigned long tmp_mode;
sprintf(wrq.ifr_name, "ra0");
wrq.u.data.pointer = (caddr_t) & tmp_mode;
wrq.u.data.flags =
RT_OID_802_11_PHY_MODE
;
ioctl(socket_id,
RT_PRIV_IOCTL
, &wrq);
9.1.12
GET Bss type:
Sample code =>
typedef enum _NDIS_802_11_NETWORK_INFRASTRUCTURE
{
Ndis802_11IBSS,
Ndis802_11Infrastructure,
Ndis802_11AutoUnknown,
Ndis802_11Monitor,
Ndis802_11InfrastructureMax // Not a real value, defined as upper bound
} NDIS_802_11_NETWORK_INFRASTRUCTURE
NDIS_802_11_NETWORK_INFRASTRUCTURE BssType;
sprintf(wrq.ifr_name, "ra0");
wrq.u.data.pointer = (caddr_t) & BssType;
wrq.u.data.flags =
OID_802_11_INFRASTRUCTURE_MODE
;
ioctl(socket_id,
RT_PRIV_IOCTL
, &wrq);
9.1.13
GET Authentication Mode:
Sample code =>
typedef enum _NDIS_802_11_AUTHENTICATION_MODE
{
Ndis802_11AuthModeOpen,
Ndis802_11AuthModeShared,
Ndis802_11AuthModeAutoSwitch,
Ndis802_11AuthModeWPA,
Ndis802_11AuthModeWPAPSK,
Ndis802_11AuthModeWPANone,
Ndis802_11AuthModeWPA2,
Ndis802_11AuthModeWPA2PSK,
Ndis802_11AuthModeWPA1WPA2,
Ndis802_11AuthModeWPA1PSKWPA2PSK,
Ndis802_11AuthModeMax // Not a real mode, defined as upper bound
} NDIS_802_11_AUTHENTICATION_MODE
NDIS_802_11_AUTHENTICATION_MODE AuthMode;
sprintf(wrq.ifr_name, "ra0");
wrq.u.data.pointer = (caddr_t) & AuthMode;
wrq.u.data.flags =
OID_802_11_AUTHENTICATION_MODE
;
ioctl(socket_id,
RT_PRIV_IOCTL
, &wrq);
72/75