Msg File src/inet/linklayer/ieee80211/mgmt/Ieee80211Primitives.msg
Name | Type | Description |
---|---|---|
Ieee80211PrimRequestCode | enum |
IEEE 802.11 command codes, sent by the agent to the management entity. These constants should be set as message kind on the messages. |
Ieee80211PrimConfirmCode | enum |
IEEE 802.11 confirm codes, sent by the management entity to the agent, in response to the agents's requests. These constants should be set as message kind on the messages. |
Ieee80211BSSType | enum | (no description) |
Ieee80211PrimResultCode | enum |
Values for the resultCode field in confirm primitives, sent from the management entity to the agent. |
Ieee80211PrimRequest | class |
Base class for request primitives |
Ieee80211PrimConfirm | class |
Base class for confirm primitives |
Ieee80211Prim_ScanRequest | class |
Losely based on MLME-SCAN.request. |
Ieee80211Prim_BSSDescription | class | (no description) |
Ieee80211Prim_ScanConfirm | class |
Losely based on MLME-SCAN.confirm Possible result codes: SUCCESS, INVALID_PARAMETERS |
Ieee80211Prim_AuthenticateRequest | class |
Losely based on MLME-AUTHENTICATE.request. |
Ieee80211Prim_AuthenticateConfirm | class |
Losely based on MLME-AUTHENTICATE.confirm. Possible result codes: SUCCESS, INVALID_PARAMETERS, TIMEOUT, TOO_MANY_SIMULTANEOUS_REQUESTS, REFUSED |
Ieee80211Prim_DeauthenticateRequest | class |
Losely based on MLME-DEAUTHENTICATE.request |
Ieee80211Prim_AssociateRequest | class |
Losely based on MLME-ASSOCIATE.request |
Ieee80211Prim_AssociateConfirm | class |
Losely based on MLME-ASSOCIATE.confirm Possible result codes: SUCCESS, INVALID_PARAMETERS, TIMEOUT, REFUSED |
Ieee80211Prim_ReassociateRequest | class |
MLME-REASSOCIATE.request is very similar to MLME-ASSOCIATE.request |
Ieee80211Prim_ReassociateConfirm | class |
MLME-REASSOCIATE.confirm is very similar to MLME-ASSOCIATE.confirm |
Ieee80211Prim_DisassociateRequest | class |
Losely based on MLME-DISASSOCIATE.request. |
Source code
// // Copyright (C) 2006 Andras Varga // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser 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 Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with this program; if not, see <http://www.gnu.org/licenses/>. import inet.linklayer.common.MACAddress; import inet.linklayer.ieee80211.mgmt.Ieee80211MgmtFrames; namespace inet::ieee80211; // // IEEE 802.11 command codes, sent by the agent to the management entity. // These constants should be set as message kind on the messages. // // @see ~Ieee80211PrimConfirmCode, ~Ieee80211MgmtSTA, ~Ieee80211AgentSTA // enum Ieee80211PrimRequestCode { PR_SCAN_REQUEST = 1; PR_AUTHENTICATE_REQUEST = 2; PR_DEAUTHENTICATE_REQUEST = 3; PR_ASSOCIATE_REQUEST = 4; PR_REASSOCIATE_REQUEST = 5; PR_DISASSOCIATE_REQUEST = 6; } // // IEEE 802.11 confirm codes, sent by the management entity to the agent, // in response to the agents's requests. // These constants should be set as message kind on the messages. // // @see ~Ieee80211PrimRequestCode, ~Ieee80211MgmtSTA, ~Ieee80211AgentSTA // enum Ieee80211PrimConfirmCode { PR_SCAN_CONFIRM = 1; PR_AUTHENTICATE_CONFIRM = 2; PR_DEAUTHENTICATE_CONFIRM = 3; PR_ASSOCIATE_CONFIRM = 4; PR_REASSOCIATE_CONFIRM = 5; PR_DISASSOCIATE_CONFIRM = 6; } enum Ieee80211BSSType { BSSTYPE_ANY = 0; BSSTYPE_INFRASTRUCTURE = 1; BSSTYPE_INDEPENDENT = 2; } // // Values for the resultCode field in confirm primitives, sent from // the management entity to the agent. // // @see ~Ieee80211PrimConfirmCode, ~Ieee80211MgmtSTA, ~Ieee80211AgentSTA // enum Ieee80211PrimResultCode { PRC_SUCCESS = 0; PRC_INVALID_PARAMETERS = 1; PRC_TIMEOUT = 2; PRC_TOO_MANY_SIMULTANEOUS_REQUESTS = 3; PRC_REFUSED = 4; } // // Base class for request primitives // class Ieee80211PrimRequest extends cObject { } // // Base class for confirm primitives // class Ieee80211PrimConfirm extends cObject { int resultCode @enum(Ieee80211PrimResultCode); } // // Losely based on MLME-SCAN.request. // class Ieee80211Prim_ScanRequest extends Ieee80211PrimRequest { int BSSType @enum(Ieee80211BSSType); // determines type of BSS's to include in the scan MACAddress BSSID; // specific BSSID to scan for (default: any) string SSID; // SSID to scan for SSID (default: any) bool activeScan; // whether to perform active or passive scanning simtime_t probeDelay; // delay (in ���s) to be used prior to transmitting a Probe frame during active scanning int channelList[]; // list of channels to scan (default: all channels) simtime_t minChannelTime; // minimum time to spend on each channel when scanning simtime_t maxChannelTime; // maximum time to spend on each channel when scanning } class Ieee80211Prim_BSSDescription extends cObject { int channelNumber; MACAddress BSSID; string SSID; Ieee80211SupportedRatesElement supportedRates; simtime_t beaconInterval; double rxPower; // received power from AP; not part of the standard } // // Losely based on MLME-SCAN.confirm // Possible result codes: SUCCESS, INVALID_PARAMETERS // class Ieee80211Prim_ScanConfirm extends Ieee80211PrimConfirm { Ieee80211Prim_BSSDescription bssList[]; } // // Losely based on MLME-AUTHENTICATE.request. // // Note: the "authType" parameter (Open System, Shared Key, etc) is omitted. // The authentication procedure is simulated by this model by exchanging // a number of "dummy" authentication frames without real contents, // and it is configured in the AP how many authentication steps it requires. // class Ieee80211Prim_AuthenticateRequest extends Ieee80211PrimRequest { MACAddress address; simtime_t timeout; } // // Losely based on MLME-AUTHENTICATE.confirm. // Possible result codes: SUCCESS, INVALID_PARAMETERS, TIMEOUT, TOO_MANY_SIMULTANEOUS_REQUESTS, REFUSED // class Ieee80211Prim_AuthenticateConfirm extends Ieee80211PrimConfirm { MACAddress address; } // // Losely based on MLME-DEAUTHENTICATE.request // // NOTE: there is no Deauthenticate Confirm, because Deauthenticate Request // takes place immediately, and nothing can go wrong (there is no reply // from the AP to wait for) // class Ieee80211Prim_DeauthenticateRequest extends Ieee80211PrimRequest { MACAddress address; int reasonCode @enum(Ieee80211ReasonCode); } // // Losely based on MLME-ASSOCIATE.request // class Ieee80211Prim_AssociateRequest extends Ieee80211PrimRequest { MACAddress address; simtime_t timeout; } // // Losely based on MLME-ASSOCIATE.confirm // Possible result codes: SUCCESS, INVALID_PARAMETERS, TIMEOUT, REFUSED // class Ieee80211Prim_AssociateConfirm extends Ieee80211PrimConfirm { MACAddress address; } // // MLME-REASSOCIATE.request is very similar to MLME-ASSOCIATE.request // class Ieee80211Prim_ReassociateRequest extends Ieee80211Prim_AssociateRequest { } // // MLME-REASSOCIATE.confirm is very similar to MLME-ASSOCIATE.confirm // class Ieee80211Prim_ReassociateConfirm extends Ieee80211Prim_AssociateConfirm { } // // Losely based on MLME-DISASSOCIATE.request. // // NOTE: there is no Disassociate Confirm, because Disassociate Request // takes place immediately, and nothing can go wrong (there is no reply // from the AP to wait for) // class Ieee80211Prim_DisassociateRequest extends Ieee80211PrimRequest { MACAddress address; int reasonCode @enum(Ieee80211ReasonCode); }