File NetworkInterfaces/Ieee80211/Mgmt/Ieee80211MgmtFrames.msg
Contains:
cplusplus
{{
#include "MACAddress.h"
#include "Ieee80211Frame_m.h"
}};
class noncobject MACAddress;
message Ieee80211ManagementFrame;
struct Ieee80211CapabilityInformation
{
fields:
bool ESS;
bool IBSS;
bool CFPollable;
bool CFPollRequest;
bool privacy;
};
struct Ieee80211HandoverParameters
{
fields:
double avgBackoffTime;
double avgWaitTime;
double avgErrorRate;
double estAvailBW;
};
enum Ieee80211ReasonCode
{
RC_UNSPECIFIED = 1;
RC_PREV_AUTH_EXPIRED = 2;
RC_DEAUTH_MS_LEAVING = 3;
RC_DISASS_INACTIVITY = 4;
RC_DISASS_TOO_MANY_MS = 5;
RC_NONAUTH_CLASS2 = 6;
RC_NONASS_CLASS3 = 7;
RC_DIASS_MS_LEAVING = 8;
RC_NONAUTH_ASS_REQUEST = 9;
};
enum Ieee80211StatusCode
{
SC_SUCCESSFUL = 0;
SC_UNSPECIFIED = 1;
SC_UNSUP_CAP = 10;
SC_REASS_DENIED = 11;
SC_ASS_DENIED_UNKNOWN = 12;
SC_AUTH_ALG0_UNSUP = 13;
SC_AUTH_OUT_OF_SEQ = 14;
SC_AUTH_CHALLENGE_FAIL = 15;
SC_AUTH_TIMEOUT = 16;
SC_ASS_TOO_MANY_MS = 17;
SC_DATARATE_UNSUP = 18;
};
struct Ieee80211SupportedRatesElement
{
fields:
short numRates;
double rate[8];
};
class Ieee80211FrameBody
{
fields:
short bodyLength;
};
class Ieee80211AuthenticationFrameBody extends Ieee80211FrameBody
{
fields:
bodyLength = 6;
unsigned short sequenceNumber;
int statusCode enum(Ieee80211StatusCode);
bool isLast;
};
class Ieee80211DeauthenticationFrameBody extends Ieee80211FrameBody
{
fields:
bodyLength = 2;
int reasonCode enum(Ieee80211ReasonCode);
};
class Ieee80211DisassociationFrameBody extends Ieee80211FrameBody
{
fields:
bodyLength = 2;
int reasonCode enum(Ieee80211ReasonCode);
};
class Ieee80211ProbeRequestFrameBody extends Ieee80211FrameBody
{
fields:
bodyLength = 12;
string SSID;
Ieee80211SupportedRatesElement supportedRates;
};
class Ieee80211AssociationRequestFrameBody extends Ieee80211FrameBody
{
fields:
bodyLength = 16;
string SSID;
Ieee80211SupportedRatesElement supportedRates;
};
class Ieee80211ReassociationRequestFrameBody extends Ieee80211AssociationRequestFrameBody
{
fields:
bodyLength = 26;
MACAddress currentAP;
};
class Ieee80211AssociationResponseFrameBody extends Ieee80211FrameBody
{
fields:
bodyLength = 26;
int statusCode enum(Ieee80211StatusCode);
short aid;
Ieee80211SupportedRatesElement supportedRates;
};
class Ieee80211ReassociationResponseFrameBody extends Ieee80211AssociationResponseFrameBody
{
};
class Ieee80211BeaconFrameBody extends Ieee80211FrameBody
{
fields:
bodyLength = 50;
string SSID;
Ieee80211SupportedRatesElement supportedRates;
double beaconInterval;
int channelNumber;
Ieee80211HandoverParameters handoverParameters;
};
class Ieee80211ProbeResponseFrameBody extends Ieee80211BeaconFrameBody
{
};
message Ieee80211AuthenticationFrame extends Ieee80211ManagementFrame
{
fields:
type = ST_AUTHENTICATION;
byteLength = 34+getBody().getBodyLength();
Ieee80211AuthenticationFrameBody body;
};
message Ieee80211DeauthenticationFrame extends Ieee80211ManagementFrame
{
fields:
type = ST_DEAUTHENTICATION;
byteLength = 34+getBody().getBodyLength();
Ieee80211DeauthenticationFrameBody body;
};
message Ieee80211DisassociationFrame extends Ieee80211ManagementFrame
{
fields:
type = ST_DISASSOCIATION;
byteLength = 34+getBody().getBodyLength();
Ieee80211DisassociationFrameBody body;
};
message Ieee80211ProbeRequestFrame extends Ieee80211ManagementFrame
{
fields:
type = ST_PROBEREQUEST;
byteLength = 34+getBody().getBodyLength();
Ieee80211ProbeRequestFrameBody body;
};
message Ieee80211AssociationRequestFrame extends Ieee80211ManagementFrame
{
fields:
type = ST_ASSOCIATIONREQUEST;
byteLength = 34+getBody().getBodyLength();
Ieee80211AssociationRequestFrameBody body;
};
message Ieee80211ReassociationRequestFrame extends Ieee80211ManagementFrame
{
fields:
type = ST_REASSOCIATIONREQUEST;
byteLength = 34+getBody().getBodyLength();
Ieee80211ReassociationRequestFrameBody body;
};
message Ieee80211AssociationResponseFrame extends Ieee80211ManagementFrame
{
fields:
type = ST_ASSOCIATIONRESPONSE;
byteLength = 34+getBody().getBodyLength();
Ieee80211AssociationResponseFrameBody body;
};
message Ieee80211ReassociationResponseFrame extends Ieee80211ManagementFrame
{
fields:
type = ST_REASSOCIATIONRESPONSE;
byteLength = 34+getBody().getBodyLength();
Ieee80211ReassociationResponseFrameBody body;
};
message Ieee80211BeaconFrame extends Ieee80211ManagementFrame
{
fields:
type = ST_BEACON;
byteLength = 34+getBody().getBodyLength();
Ieee80211BeaconFrameBody body;
};
message Ieee80211ProbeResponseFrame extends Ieee80211ManagementFrame
{
fields:
type = ST_PROBERESPONSE;
byteLength = 34+getBody().getBodyLength();
Ieee80211ProbeResponseFrameBody body;
};