Name | Type | Description |
---|---|---|
Ieee80211Nic | compound module |
This NIC implements an 802.11 network interface card. It can be configured via the mgmtType parameter to act as an AP or a STA, or for ad-hoc mode. |
// // 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/>. // package inet.linklayer.ieee80211; import inet.linklayer.ieee80211.mac.Ieee80211Mac; import inet.linklayer.ieee80211.mgmt.Ieee80211Mgmt; import inet.linklayer.radio.Ieee80211Radio; // // This NIC implements an 802.11 network interface card. // It can be configured via the mgmtType parameter to act // as an AP or a STA, or for ad-hoc mode. // module Ieee80211Nic { parameters: string mgmtType; // name of the management module type @display("i=block/ifcard"); gates: input uppergateIn; // to upper layers output uppergateOut; // from upper layers input radioIn @labels(AirFrame); // to receive AirFrames submodules: mgmt: <mgmtType> like Ieee80211Mgmt { parameters: @display("p=96,69;q=wlanDataQueue"); } mac: Ieee80211Mac { parameters: queueModule = "mgmt"; @display("p=96,155"); } radio: Ieee80211Radio { parameters: @display("p=96,240"); } connections: radioIn --> radio.radioIn; radio.uppergateIn <-- mac.lowergateOut; radio.uppergateOut --> mac.lowergateIn; mac.uppergateOut --> mgmt.macIn; mac.uppergateIn <-- mgmt.macOut; mgmt.uppergateOut --> uppergateOut; mgmt.uppergateIn <-- uppergateIn; }