Difference between revisions of "Unit WiFi"

From Ultibo.org
Jump to: navigation, search
Line 6,892: Line 6,892:
  
  
'''WiFi adapter'''
+
'''WiFi specific classes'''
  
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
<code>TWiFiAdapter = class(TNetworkAdapter)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
| <code>constructor Create(AManager:TAdapterManager; ADevice:PNetworkDevice; const AName:String);</code>
+
| [[TWiFiAdapter|<code>TWiFiAdapter = class(TNetworkAdapter)</code>]]
| style="width: 50%;"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
|-
+
| <code>FDefaultAddress:THardwareAddress;</code>
+
| &nbsp;
+
|-
+
| <code>FHardwareAddress:THardwareAddress;</code>
+
| &nbsp;
+
|-
+
| <code>FBroadcastAddress:THardwareAddress;</code>
+
| &nbsp;
+
|-
+
| <code>FMulticastAddresses:TMulticastAddresses;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function CheckReceiveFrame(APacket:PNetworkPacket; AStatus:PIEEE80211RXStatus):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function ReceiveHandler(APacket:PNetworkPacket; AStatus:PIEEE80211RXStatus):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function ScanReceiver(APacket:PNetworkPacket; AStatus:PIEEE80211RXStatus):Boolean;</code>
+
| &nbsp;
+
|-
+
| <code>function DataReceiver(APacket:PNetworkPacket; AStatus:PIEEE80211RXStatus):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
+
|-
+
| <code>procedure SetStatus(AStatus:Integer); override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
| <code>function AddTransport(APacketType,AFrameType:Word; const APacketName:String; APacketHandler:TAdapterPacketHandler):THandle; override;</code>
+
| &nbsp;
+
|-
+
| <code>function RemoveTransport(AHandle:THandle; APacketType:Word):Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function GetMTU(AHandle:THandle):Word; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function SendPacket(AHandle:THandle; ADest:Pointer; APacket:PPacketFragment; ASize:Integer):Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function ClearStatistics(AHandle:THandle):Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function GetStatistics(AHandle:THandle):TAdapterStatistics; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function GetDefaultAddress(AHandle:THandle):THardwareAddress; override;</code>
+
| &nbsp;
+
|-
+
| <code>function GetHardwareAddress(AHandle:THandle):THardwareAddress; override;</code>
+
| &nbsp;
+
|-
+
| <code>function SetHardwareAddress(AHandle:THandle; const AAddress:THardwareAddress):Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function GetBroadcastAddress(AHandle:THandle):THardwareAddress; override;</code>
+
| &nbsp;
+
|-
+
| <code>function GetMulticastAddresses(AHandle:THandle):TMulticastAddresses; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function AddMulticastAddress(AHandle:THandle; const AAddress:THardwareAddress):Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function RemoveMulticastAddress(AHandle:THandle; const AAddress:THardwareAddress):Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function StartAdapter:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function StopAdapter:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function ProcessAdapter:Boolean; override;</code>
+
| &nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div> 
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''EAPOL transport adapter'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TEAPOLTransportAdapter = class(TTransportAdapter)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
| <code>constructor Create;</code>
+
| [[TEAPOLTransportAdapter|<code>TEAPOLTransportAdapter = class(TTransportAdapter)</code>]]
| style="width: 50%;"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
|colspan="2"|&nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''EAPOL transport'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TEAPOLTransport = class(TNetworkTransport)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
| <code>constructor Create(AManager:TTransportManager; const AName:String);</code>
+
| [[TEAPOLTransport|<code>TEAPOLTransport = class(TNetworkTransport)</code>]]
| style="width: 50%;"|&nbsp;
+
|-
+
| destructor Destroy; override;
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
|-
+
| <code>function PacketHandler(AHandle:THandle; ASource,ADest,APacket:Pointer; ASize:Integer; ABroadcast:Boolean):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
| <code>function AddAdapter(AAdapter:TNetworkAdapter; AConfigType:Word; AAddress,ANetmask,AGateway,AServer:Pointer):Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function RemoveAdapter(AAdapter:TNetworkAdapter):Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function StartTransport:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function StopTransport:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function ProcessTransport:Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function BindTransport(AAdapter:TNetworkAdapter):Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function UnbindTransport(AAdapter:TNetworkAdapter):Boolean; override;</code>
+
| &nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div> 
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''RSN transport adapter'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TRSNTransportAdapter = class(TTransportAdapter)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
 
|-
 
|-
| <code>constructor Create;</code>
+
| [[TRSNTransportAdapter|<code>TRSNTransportAdapter = class(TTransportAdapter)</code>]]
| style="width: 50%;"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
|colspan="2"|&nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div> 
+
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 
+
'''RSN transport'''
+
 
+
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;">
+
 
+
<code>TRSNTransport = class(TNetworkTransport)</code>
+
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
+
{| class="wikitable" style="font-size: 14px; background: white;"
+
|-
+
| <code>constructor Create(AManager:TTransportManager; const AName:String);</code>
+
| style="width: 50%;"|&nbsp;
+
|-
+
| <code>destructor Destroy; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''private'''</div>
+
|-
+
| <code>function PacketHandler(AHandle:THandle; ASource,ADest,APacket:Pointer; ASize:Integer; ABroadcast:Boolean):Boolean;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''protected'''</div>
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
|colspan="2"|<div style="font-family: monospace,courier;">'''public'''</div>
+
|-
+
| <code>function AddAdapter(AAdapter:TNetworkAdapter; AConfigType:Word; AAddress,ANetmask,AGateway,AServer:Pointer):Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function RemoveAdapter(AAdapter:TNetworkAdapter):Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function StartTransport:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function StopTransport:Boolean; override;</code>
+
| &nbsp;
+
|-
+
| <code>function ProcessTransport:Boolean; override;</code>
+
| &nbsp;
+
|-
+
|colspan="2"|&nbsp;
+
|-
+
| <code>function BindTransport(AAdapter:TNetworkAdapter):Boolean; override;</code>
+
| &nbsp;
+
 
|-
 
|-
| <code>function UnbindTransport(AAdapter:TNetworkAdapter):Boolean; override;</code>
+
| [[TRSNTransport|<code>TRSNTransport = class(TNetworkTransport)</code>]]
| &nbsp;
+
 
|-
 
|-
 
|}
 
|}
</div></div>
 
 
<br />
 
<br />
  

Revision as of 03:09, 5 June 2018

Return to Unit Reference


Description


Ultibo WiFi (IEEE 802.11 / WPA) interface unit

To be documented

Constants



[Expand]
IEEE 802.11 specific constants IEEE80211_*


[Expand]
IEEE 802.11 management IEEE80211_STYPE_ASSOC_*


[Expand]
IEEE 802.11 control IEEE80211_STYPE_CTL_*


[Expand]
IEEE 802.11 data IEEE80211_STYPE_DATA*


[Expand]
IEEE 802.11 extension IEEE80211_STYPE_DMG_*


[Expand]
IEEE 802.11 control extension IEEE80211_CTL_EXT_*


[Expand]
IEEE 802.11 miscellaneous constants IEEE80211_MAX_*, IEEE80211_NUM_*


[Expand]
IEEE 802.11 QOS control lengths IEEE80211_QOS_CTL_LEN*


[Expand]
IEEE 802.11 QOS control masks IEEE80211_QOS_CTL_*_MASK*


[Expand]
IEEE 802.11 WMM IE U-APSD queue sent by AP IEEE80211_WMM_IE_AP_*


[Expand]
IEEE 802.11 WMM IE U-APSD queue sent by STA IEEE80211_WMM_IE_STA_*


[Expand]
IEEE 802.11 WMM IE U-APSD max SP length sent by STA IEEE80211_WMM_IE_STA_*_SP_*


[Expand]
IEEE 802.11 HT control lengths IEEE80211_HT_CTL_LEN*


[Expand]
IEEE 802.11 mesh flags IEEE80211_MESH_FLAGS_*


[Expand]
IEEE 802.11 mesh PREQ element flags IEEE80211_PREQ_PROACTIVE_*_FLAG*


[Expand]
IEEE 802.11 mesh PREQ element per target flags IEEE80211_PREQ_*_FLAG*


[Expand]
IEEE 802.11 mesh configuration IE capability field flags IEEE80211_MESHCONF_CAPAB_*


[Expand]
WLAN mesh channel switch parameters flags WLAN_EID_CHAN_SWITCH_PARAM_*


[Expand]
IEEE 802.11 root announcement flags IEEE80211_RANN_FLAG_*


[Expand]
IEEE 802.11 HT channel width values IEEE80211_HT_CHANWIDTH_*


[Expand]
IEEE 802.11 VHT operating mode field bits IEEE80211_OPMODE_*


[Expand]
WLAN SA query length WLAN_SA_QUERY_*_*_LEN*


[Expand]
IEEE 802.11 supported rate values IEEE80211_BSS_*


[Expand]
IEEE 802.11 peer-to-peer attribute related definitions IEEE80211_P2P_*


[Expand]
IEEE 802.11 BAR control masks IEEE80211_BAR_CTRL_*


[Expand]
IEEE 802.11 HT MCS lengths IEEE80211_HT_MCS_*_LEN*


[Expand]
IEEE 802.11 HT MCS capability settings IEEE80211_HT_MCS_*


[Expand]
IEEE 802.11 HT capabilities masks IEEE80211_HT_CAP_*


[Expand]
IEEE 802.11 HT extended capabilities masks IEEE80211_HT_EXT_CAP_*


[Expand]
IEEE 802.11 HT AMPDU capability settings IEEE80211_HT_AMPDU_PARM_*


[Expand]
IEEE 802.11 HT maximum lengths IEEE80211_HT_MAX_AMPDU_*


[Expand]
IEEE 802.11 VHT maximum lengths IEEE80211_VHT_MAX_AMPDU_*


[Expand]
IEEE 802.11 HT MPDU start spacing IEEE80211_HT_MPDU_DENSITY_*


[Expand]
IEEE 802.11 HT operation parameters IEEE80211_HT_PARAM_*


[Expand]
IEEE 802.11 HT operation modes IEEE80211_HT_OP_MODE_*


[Expand]
IEEE 802.11 HT STBC parameters IEEE80211_HT_STBC_PARAM_*


[Expand]
IEEE 802.11 block-ack parameters IEEE80211_*_PARAM_*


[Expand]
IEEE 802.11 A-PMDU buffer sizes IEEE80211_*_AMPDU_BUF*


[Expand]
WLAN HT spatial multiplexing power save modes WLAN_HT_CAP_SM_PS_*


[Expand]
WLAN HT SM power control fields WLAN_HT_SMPS_CONTROL_*


[Expand]
IEEE 802.11 VHT MCS support definitions IEEE80211_VHT_MCS_SUPPORT_*


[Expand]
IEEE 802.11 VHT channel width IEEE80211_VHT_CHANWIDTH_*


[Expand]
IEEE 802.11 VHT capabilities IEEE80211_VHT_CAP_*


[Expand]
WLAN authentication algorithms WLAN_AUTH_*


[Expand]
WLAN capabilities WLAN_CAPABILITY_*


[Expand]
IEEE 802.11 spectrum measurement IEEE80211_SPCT_MSR_*


[Expand]
WLAN ERP information element WLAN_ERP_*


[Expand]
WLAN ERP barker preamble values WLAN_ERP_PREAMBLE_*


[Expand]
IEEE 802.11 band Id IEEE80211_BANDID_*


[Expand]
WLAN status codes WLAN_STATUS_*


[Expand]
WLAN reason codes WLAN_REASON_*


[Expand]
WLAN information element Ids WLAN_EID_*


[Expand]
WLAN action category codes WLAN_CATEGORY_*


[Expand]
WLAN spectrum action codes WLAN_ACTION_SPCT_*


[Expand]
WLAN HT action codes WLAN_HT_ACTION_*


[Expand]
WLAN VHT action codes WLAN_VHT_ACTION_*


[Expand]
WLAN self protected action codes WLAN_SP_*


[Expand]
WLAN mesh action codes WLAN_MESH_ACTION_*


[Expand]
WLAN security key lengths WLAN_KEY_LEN_*


[Expand]
IEEE 802.11 security key lengths IEEE80211_*_LEN


[Expand]
WLAN public action codes WLAN_PUB_ACTION_*


[Expand]
WLAN TDLS action codes WLAN_TDLS_*


[Expand]
WLAN extended channel switching capabilities 1st byte WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING*


[Expand]
WLAN extended TDLS capabilities 4th byte WLAN_EXT_CAPA4_TDLS_*


[Expand]
WLAN extended interworking capabilities 4th byte WLAN_EXT_CAPA4_INTERWORKING_*


[Expand]
WLAN extended TDLS capabilities 5th byte WLAN_EXT_CAPA5_TDLS_*


[Expand]
WLAN extended TDLS capabilities 8th byte WLAN_EXT_CAPA8_TDLS_*


[Expand]
WLAN TDLS specific payload type WLAN_TDLS_*_RFTYPE*


[Expand]
WLAN coex IE information field bits WLAN_*_COEX_INFORMATION_*


[Expand]
IEEE 802.11 mesh synchronization method identifier IEEE80211_SYNC_METHOD_*


[Expand]
IEEE 802.11 mesh path selection protocol identifier IEEE80211_PATH_PROTOCOL_*


[Expand]
IEEE 802.11 mesh path selection metric identifier IEEE80211_PATH_METRIC_*


[Expand]
IEEE 802.11 root mesh STA mode identifier IEEE80211_ROOTMODE_*


[Expand]
IEEE 802.11 country information element IEEE80211_COUNTRY_*


[Expand]
WLAN timeout interval WLAN_TIMEOUT_*


[Expand]
WLAN block-ack action code WLAN_ACTION_*


[Expand]
WLAN block-ack parties WLAN_BACK_*


[Expand]
WLAN SA query action WLAN_ACTION_SA_QUERY_*


[Expand]
WLAN cipher suite selectors WLAN_CIPHER_SUITE_*


[Expand]
WLAN AKM suite selectors WLAN_AKM_SUITE_*


[Expand]
WLAN key lengths WLAN_*_KEY_LEN*


[Expand]
WLAN OUI types WLAN_OUI_WFA*


[Expand]
IEEE 802.11 Tspec element IEEE80211_WMM_IE_TSPEC_TID_*


[Expand]
IEEE 802.11 Tspec status IEEE80211_TSPEC_STATUS_*


[Expand]
IEEE 802.11 frequency bands IEEE80211_BAND_*


[Expand]
IEEE 802.11 channel flags IEEE80211_CHAN_*


[Expand]
IEEE 802.11 DFS times IEEE80211_DFS_MIN_*_TIME_MS*


[Expand]
IEEE 802.11 rate flags IEEE80211_RATE_*


[Expand]
IEEE 802.11 BSS type values IEEE80211_BSS_TYPE_*


[Expand]
IEEE 802.11 privacy values IEEE80211_PRIVACY_*


[Expand]
IEEE 802.11 filter flags IEEE80211_FIF_*


[Expand]
IEEE 802.11 hardware flags IEEE80211_HW_*


[Expand]
IEEE 802.11 configuration flags IEEE80211_CONF_*


[Expand]
IEEE 802.11 configuration changed flags IEEE80211_CONF_CHANGE_*


[Expand]
IEEE 802.11 TX status headroom IEEE80211_TX_STATUS_HEADROOM_*


[Expand]
IEEE 802.11 max CSA counters IEEE80211_MAX_CSA_COUNTERS_*


[Expand]
WiFi specific constants WIFI_*


[Expand]
WiFi device states WIFI_STATE_*


[Expand]
WiFi device status WIFI_STATUS_*


[Expand]
WiFi device flags WIFI_FLAG_*


[Expand]
WiFi device features WIFI_FEATURE_*


[Expand]
WiFi device LED values WIFI_LED_*


[Expand]
WiFi interface types WIFI_IFTYPE_*


[Expand]
WiFi channel types WIFI_CHAN_*


[Expand]
WiFi channel widths WIFI_CHAN_WIDTH_*


[Expand]
WiFi signal types WIFI_SIGNAL_TYPE_*


[Expand]
WiFi TX power adjustment WIFI_TX_POWER_*


[Expand]
WiFi RX flags WIFI_RX_FLAG_*


[Expand]
WiFi RX VHT flags WIFI_RX_VHT_FLAG_*


Type definitions



IEEE 802.11 header

[Expand]

PIEEE80211Header = ^TIEEE80211Header;

TIEEE80211Header = record

IEEE 802.11 header 3 address

[Expand]

PIEEE80211Header3Address = ^TIEEE80211Header3Address;

TIEEE80211Header3Address = record

IEEE 802.11 QOS header

[Expand]

PIEEE80211QOSHeader = ^TIEEE80211QOSHeader;

TIEEE80211QOSHeader = record

IEEE 802.11 S header

[Expand]

PIEEE80211SHeader = ^TIEEE80211SHeader;

TIEEE80211SHeader = record

IEEE 802.11 quiet information element

[Expand]

PIEEE80211QuietIE = ^TIEEE80211QuietIE;

TIEEE80211QuietIE = packed record

IEEE 802.11 measurement request/report information element

[Expand]

PIEEE80211MeasurementIE = ^TIEEE80211MeasurementIE;

TIEEE80211MeasurementIE = packed record

IEEE 802.11 channel switch announcement information element

[Expand]

PIEEE80211ChannelSwitchIE = ^TIEEE80211ChannelSwitchIE;

TIEEE80211ChannelSwitchIE = packed record

IEEE 802.11 extended channel switch announcement information element

[Expand]

PIEEE80211ExtChannelSwitchIE = ^TIEEE80211ExtChannelSwitchIE;

TIEEE80211ExtChannelSwitchIE = packed record

IEEE 802.11 secondary channel offset information element

[Expand]

PIEEE80211SecondaryChannelOffsetIE = ^TIEEE80211SecondaryChannelOffsetIE;

TIEEE80211SecondaryChannelOffsetIE = packed record

IEEE 802.11 mesh channel switch parameters information element

[Expand]

PIEEE80211MeshChannelSwitchParamsIE = ^TIEEE80211MeshChannelSwitchParamsIE;

TIEEE80211MeshChannelSwitchParamsIE = packed record

IEEE 802.11 wide bandwidth channel switch information element

[Expand]

PIEEE80211WidebandChannelSwitchIE = ^TIEEE80211WidebandChannelSwitchIE;

TIEEE80211WidebandChannelSwitchIE = packed record

IEEE 802.11 traffic indication map information element

[Expand]

PIEEE80211TrafficIndicationMapIE = ^TIEEE80211TrafficIndicationMapIE;

TIEEE80211TrafficIndicationMapIE = packed record

IEEE 802.11 mesh configuration information element

[Expand]

PIEEE80211MeshConfigurationIE = ^TIEEE80211MeshConfigurationIE;

TIEEE80211MeshConfigurationIE = packed record

IEEE 802.11 root announcement information element

[Expand]

PIEEE80211RootAnnouncementIE = ^TIEEE80211RootAnnouncementIE;

TIEEE80211RootAnnouncementIE = packed record

IEEE 802.11 TPC report information element

[Expand]

PIEEE80211TPCReportIE = ^TIEEE80211TPCReportIE;

TIEEE80211TPCReportIE = packed record

IEEE 802.11 management authority

[Expand]

TIEEE80211ManagementAuth = packed record

IEEE 802.11 management deauthority

[Expand]

TIEEE80211ManagementDeauth = packed record

IEEE 802.11 management association request

[Expand]

TIEEE80211ManagementAssocRequest = packed record

IEEE 802.11 management association response

[Expand]

TIEEE80211ManagementAssocResponse = packed record

IEEE 802.11 management reassociation request

[Expand]

TIEEE80211ManagementReassocRequest = packed record

IEEE 802.11 management disassociation

[Expand]

TIEEE80211ManagementDisassoc = packed record

IEEE 802.11 management beacon

[Expand]

TIEEE80211ManagementBeacon = packed record

IEEE 802.11 management probe request

[Expand]

TIEEE80211ManagementProbeRequest = packed record

IEEE 802.11 management probe response

[Expand]

TIEEE80211ManagementProbeResponse = packed record

IEEE 802.11 management action WME action

[Expand]

TIEEE80211ManagementActionWMEAction = packed record

IEEE 802.11 management action channel switch

[Expand]

TIEEE80211ManagementActionChannelSwitch = packed record

IEEE 802.11 management action extended channel switch

[Expand]

TIEEE80211ManagementActionExtChannelSwitch = packed record

IEEE 802.11 management action measurement

[Expand]

TIEEE80211ManagementActionMeasurement = packed record

IEEE 802.11 management action add BA request

[Expand]

TIEEE80211ManagementActionAddBARequest = packed record

IEEE 802.11 management action add BA response

[Expand]

TIEEE80211ManagementActionAddBAResponse = packed record

IEEE 802.11 management action delete BA

[Expand]

TIEEE80211ManagementActionDelBA = packed record

IEEE 802.11 management action self protection

[Expand]

TIEEE80211ManagementActionSelfProt = packed record

IEEE 802.11 management action mesh action

[Expand]

TIEEE80211ManagementActionMeshAction = packed record

IEEE 802.11 management action SA query

[Expand]

TIEEE80211ManagementActionSAQuery = packed record

IEEE 802.11 management action HTSMPS

[Expand]

TIEEE80211ManagementActionHTSMPS = packed record

IEEE 802.11 management action HT notify channel width

[Expand]

TIEEE80211ManagementActionHTNotifyChannelWidth = packed record

IEEE 802.11 management action TDLS discover response

[Expand]

TIEEE80211ManagementActionTDLSDiscoverResponse = packed record

IEEE 802.11 management action VHT opmode notify

[Expand]

TIEEE80211ManagementActionVHTOpmodeNotify = packed record

IEEE 802.11 management action TPC report

[Expand]

TIEEE80211ManagementActionTPCReport = packed record

IEEE 802.11 management action

[Expand]

TIEEE80211ManagementAction = packed record

IEEE 802.11 management

[Expand]

PIEEE80211Management = ^TIEEE80211Management;

TIEEE80211Management = record

IEEE 802.11 management MIC information element (IEEE 802.11w)

[Expand]

PIEEE80211ManagementMICIE = ^TIEEE80211ManagementMICIE;

TIEEE80211ManagementMICIE = packed record

IEEE 802.11 management MIC information element (IEEE 802.11w) for GMAC and CMAC-256

[Expand]

PIEEE80211ManagementMIC16IE = ^TIEEE80211ManagementMIC16IE;

TIEEE80211ManagementMIC16IE = packed record

IEEE 802.11 vendor information element

[Expand]

PIEEE80211VendorIE = ^TIEEE80211VendorIE;

TIEEE80211VendorIE = packed record

IEEE 802.11 WMM AC parameters

[Expand]

PIEEE80211WMMACParam = ^TIEEE80211WMMACParam;

TIEEE80211WMMACParam = packed record

IEEE 802.11 WMM parameters information element

[Expand]

PIEEE80211WMMParamIE = ^TIEEE80211WMMParamIE;

TIEEE80211WMMParamIE = packed record

IEEE 802.11 RTS

[Expand]

PIEEE80211RTS = ^TIEEE80211RTS;

TIEEE80211RTS = record

IEEE 802.11 CTS

[Expand]

PIEEE80211CTS = ^TIEEE80211CTS;

TIEEE80211CTS = record

IEEE 802.11 PS poll

[Expand]

PIEEE80211PSPoll = ^TIEEE80211PSPoll;

TIEEE80211PSPoll = record

IEEE 802.11 channel switch timing

[Expand]

PIEEE80211ChannelSwitchTiming = ^TIEEE80211ChannelSwitchTiming;

TIEEE80211ChannelSwitchTiming = packed record

IEEE 802.11 TDLS link-id information element

[Expand]

PIEEE80211TDLSLinkIdentifierIE = ^TIEEE80211TDLSLinkIdentifierIE;

TIEEE80211TDLSLinkIdentifierIE = packed record

IEEE 802.11 TDLS data setup request

[Expand]

TIEEE80211TDLSDataSetupRequest = packed record

IEEE 802.11 TDLS data setup response

[Expand]

TIEEE80211TDLSDataSetupResponse = packed record

IEEE 802.11 TDLS data setup confirmation

[Expand]

TIEEE80211TDLSDataSetupConfirm = packed record

IEEE 802.11 TDLS data teardown

[Expand]

TIEEE80211TDLSDataTeardown = packed record

IEEE 802.11 TDLS data discover request

[Expand]

TIEEE80211TDLSDataDiscoverRequest = packed record

IEEE 802.11 TDLS data channel switch request

[Expand]

TIEEE80211TDLSDataChannelSwitchRequest = packed record

IEEE 802.11 TDLS data channel switch response

[Expand]

TIEEE80211TDLSDataChannelSwitchResponse = packed record

IEEE 802.11 TDLS data

[Expand]

PIEEE80211TDLSData = ^TIEEE80211TDLSData;

TIEEE80211TDLSData = packed record

IEEE 802.11 P2P notice of absence description

[Expand]

PIEEE80211P2PNOADescription = ^TIEEE80211P2PNOADescription;

TIEEE80211P2PNOADescription = packed record

IEEE 802.11 P2P notice of absence attribute

[Expand]

PIEEE80211P2PNOAAttribute = ^TIEEE80211P2PNOAAttribute;

TIEEE80211P2PNOAAttribute = packed record

IEEE 802.11 HT block acknowledgement request

[Expand]

PIEEE80211Bar = ^TIEEE80211Bar;

TIEEE80211Bar = packed record

IEEE 802.11 HT MCS information

[Expand]

PIEEE80211MCSInfo = ^TIEEE80211MCSInfo;

TIEEE80211MCSInfo = packed record

IEEE 802.11 HT capabilities

[Expand]

PIEEE80211HTCapabilities = ^TIEEE80211HTCapabilities;

TIEEE80211HTCapabilities = packed record

IEEE 802.11 HT operation

[Expand]

PIEEE80211HTOperation = ^TIEEE80211HTOperation;

TIEEE80211HTOperation = packed record

IEEE 802.11 VHT MCS information

[Expand]

PIEEE80211VHTMCSInfo = ^TIEEE80211VHTMCSInfo;

TIEEE80211VHTMCSInfo = packed record

IEEE 802.11 VHT capabilities

[Expand]

PIEEE80211VHTCapabilities = ^TIEEE80211VHTCapabilities;

TIEEE80211VHTCapabilities = packed record

IEEE 802.11 VHT operation

[Expand]

PIEEE80211VHTOperation = ^TIEEE80211VHTOperation;

TIEEE80211VHTOperation = packed record

IEEE 802.11 country triplet information element channels

[Expand]

TIEEE80211CountryTripletIEChannels = packed record

IEEE 802.11 country triplet information element extended

[Expand]

TIEEE80211CountryTripletIEExt = packed record

IEEE 802.11 country triplet information element

[Expand]

PIEEE80211CountryTripletIE = ^TIEEE80211CountryTripletIE;

TIEEE80211CountryTripletIE = packed record

IEEE 802.11 timeout interval information element

[Expand]

PIEEE80211TimeoutIntervalIE = ^TIEEE80211TimeoutIntervalIE;

TIEEE80211TimeoutIntervalIE = packed record

IEEE 802.11 Tspec information element

[Expand]

PIEEE80211TSpecIE = ^TIEEE80211TSpecIE;

TIEEE80211TSpecIE = packed record

IEEE 802.11 channel

[Expand]

PIEEE80211Channel = ^TIEEE80211Channel;

TIEEE80211Channel = record

IEEE 802.11 channels

[Expand]

PIEEE80211Channels = ^TIEEE80211Channels;

TIEEE80211Channels = array[0..0] of TIEEE80211Channel;

IEEE 802.11 rate

[Expand]

PIEEE80211Rate = ^TIEEE80211Rate;

TIEEE80211Rate = record

IEEE 802.11 rates

[Expand]

PIEEE80211Rates = ^TIEEE80211Rates;

TIEEE80211Rates = array[0..0] of TIEEE80211Rate;

IEEE 802.11 channel definition

[Expand]

PIEEE80211ChannelDefinition = ^TIEEE80211ChannelDefinition;

TIEEE80211ChannelDefinition = record

IEEE 802.11 station HT capabilities

[Expand]

PIEEE80211StationHTCap = ^TIEEE80211StationHTCap;

TIEEE80211StationHTCap = record

IEEE 802.11 station VHT capabilities

[Expand]

PIEEE80211StationVHTCap = ^TIEEE80211StationVHTCap;

TIEEE80211StationVHTCap = record

IEEE 802.11 supported band

[Expand]

PIEEE80211SupportedBand = ^TIEEE80211SupportedBand;

TIEEE80211SupportedBand = record

IEEE 802.11 BSS configuration

[Expand]

PIEEE80211BSSConfiguration = ^TIEEE80211BSSConfiguration;

TIEEE80211BSSConfiguration = record

IEEE 802.11 RX status

[Expand]

PIEEE80211RXStatus = ^TIEEE80211RXStatus;

TIEEE80211RXStatus = record

IEEE 802.11 TX information

[Expand]

PIEEE80211TXInfo = ^TIEEE80211TXInfo;

TIEEE80211TXInfo = record

IEEE 802.11 information elements

[Expand]

PIEEE80211InformationElements = ^TIEEE80211InformationElements;

TIEEE80211InformationElements = record

WiFi device event

[Expand]

PWiFiDeviceEvent = ^TWiFiDeviceEvent;

TWiFiDeviceEvent = record

WiFi hardware

[Expand]

PWiFiHardware = ^TWiFiHardware;

TWiFiHardware = record

WiFi configuration

[Expand]

PWiFiConfiguration = ^TWiFiConfiguration;

TWiFiConfiguration = record

WiFi interface

[Expand]

PWiFiInterface = ^TWiFiInterface;

TWiFiInterface = record

WiFi device configure

TWiFiDeviceConfigure = function(WiFi:PWiFiDevice; Flags:LongWord):LongWord;

WiFi device configure filter

TWiFiDeviceConfigureFilter = function(WiFi:PWiFiDevice; var Filter:LongWord):LongWord;

WiFi device configuration interface

TWiFiDeviceConfigureInterface = function(WiFi:PWiFiDevice; Interrface:PWiFiInterface):LongWord;

WiFi device

[Expand]

PWiFiDevice = ^TWiFiDevice;

TWiFiDevice = record


Class definitions



WiFi specific classes

TWiFiAdapter = class(TNetworkAdapter)
TEAPOLTransportAdapter = class(TTransportAdapter)
TEAPOLTransport = class(TNetworkTransport)
TRSNTransportAdapter = class(TTransportAdapter)
TRSNTransport = class(TNetworkTransport)


Public variables


None defined

Function declarations



Initialization functions

[Expand]
procedure WiFiInit;
Description: To be documented


[Expand]
function WiFiStart(Data:Pointer; Event:LongWord):LongWord;
Description: To be documented


[Expand]
function WiFiStop(Data:Pointer; Event:LongWord):LongWord;
Description: To be documented


[Expand]
function WiFiStartCompleted:Boolean;
Description: To be documented


WiFi functions

[Expand]
function WiFiDeviceConfigure(WiFi:PWiFiDevice; Flags:LongWord):LongWord;
Description: To be documented


[Expand]
function WiFiDeviceConfigureFilter(WiFi:PWiFiDevice; var Filter:LongWord):LongWord;
Description: To be documented


[Expand]
function WiFiDeviceConfigureInterface(WiFi:PWiFiDevice; Interrface:PWiFiInterface):LongWord; 
Description: To be documented


[Expand]
function WiFiDeviceCreate:PWiFiDevice;
Description: Create a new WiFi entry


[Expand]
function WiFiDeviceCreateEx(Size:LongWord):PWiFiDevice;
Description: Create a new WiFi entry


[Expand]
function WiFiDeviceDestroy(WiFi:PWiFiDevice):LongWord;
Description: To be documented


[Expand]
function WiFiDeviceRegister(WiFi:PWiFiDevice):LongWord;
Description: To be documented


[Expand]
function WiFiDeviceDeregister(WiFi:PWiFiDevice):LongWord;
Description: To be documented


WiFi helper functions

[Expand]
function WiFiConfigurationIsHT(Configuration:PWiFiConfiguration):Boolean;
Description: To be documented


[Expand]
function WiFiConfigurationIsHT20(Configuration:PWiFiConfiguration):Boolean;
Description: To be documented


[Expand]
function WiFiConfigurationIsHT40(Configuration:PWiFiConfiguration):Boolean;
Description: To be documented


[Expand]
function WiFiConfigurationIsHT40Plus(Configuration:PWiFiConfiguration):Boolean;
Description: To be documented


[Expand]
function WiFiConfigurationIsHT40Minus(Configuration:PWiFiConfiguration):Boolean;
Description: To be documented


[Expand]
procedure WiFiNetworkDeviceAdd(Event:PWiFiDeviceEvent);
Description: To be documented


[Expand]
function WiFiNetworkDeviceRemove(Network:PNetworkDevice):LongWord;
Description: To be documented


[Expand]
function WiFiNetworkDeviceEnum(Network:PNetworkDevice; Data:Pointer):LongWord;
Description: To be documented


[Expand]
function WiFiNetworkDeviceNotify(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;
Description: To be documented


IEEE 802.11 helper functions

[Expand]
function IEEE80211HasToDS(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_TODS is set


[Expand]
function IEEE80211HasFromDS(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_FROMDS is set


[Expand]
function IEEE80211HasA4(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_TODS and IEEE80211_FCTL_FROMDS are set


[Expand]
function IEEE80211HasMoreFrags(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_MOREFRAGS is set


[Expand]
function IEEE80211HasRetry(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_RETRY is set


[Expand]
function IEEE80211HasPM(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_PM is set


[Expand]
function IEEE80211HasMoreData(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_MOREDATA is set


[Expand]
function IEEE80211HasProtected(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_PROTECTED is set


[Expand]
function IEEE80211HasOrder(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FCTL_ORDER is set


[Expand]
function IEEE80211IsMgmt(FrameControl:Word):Boolean; inline;
Description: Check if type is IEEE80211_FTYPE_MGMT


[Expand]
function IEEE80211IsCtl(FrameControl:Word):Boolean; inline;
Description: Check if type is IEEE80211_FTYPE_CTL


[Expand]
function IEEE80211IsData(FrameControl:Word):Boolean; inline;
Description: Check if type is IEEE80211_FTYPE_DATA


[Expand]
function IEEE80211IsDataQoS(FrameControl:Word):Boolean; inline;
Description: Check if type is IEEE80211_FTYPE_DATA and IEEE80211_STYPE_QOS_DATA is set


[Expand]
function IEEE80211IsDataPresent(FrameControl:Word):Boolean; inline;
Description: Check if type is IEEE80211_FTYPE_DATA and has data


[Expand]
function IEEE80211IsAssocReq(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ASSOC_REQ


[Expand]
function IEEE80211IsAssocResp(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ASSOC_RESP


[Expand]
function IEEE80211IsReassocReq(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_REASSOC_REQ


[Expand]
function IEEE80211IsReassocResp(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_REASSOC_RESP


[Expand]
function IEEE80211IsProbeReq(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_PROBE_REQ


[Expand]
function IEEE80211IsProbeResp(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_PROBE_RESP


[Expand]
function IEEE80211IsBeacon(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_BEACON


[Expand]
function IEEE80211IsATIM(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ATIM


[Expand]
function IEEE80211IsDisassoc(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_DISASSOC


[Expand]
function IEEE80211IsAuth(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_AUTH


[Expand]
function IEEE80211IsDeauth(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_DEAUTH


[Expand]
function IEEE80211IsAction(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_MGMT && IEEE80211_STYPE_ACTION


[Expand]
function IEEE80211IsBackReq(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_BACK_REQ


[Expand]
function IEEE80211IsBack(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_BACK


[Expand]
function IEEE80211IsPSPoll(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_PSPOLL


[Expand]
function IEEE80211IsRTS(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_RTS


[Expand]
function IEEE80211IsCTS(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_CTS


[Expand]
function IEEE80211IsACK(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_ACK


[Expand]
function IEEE80211IsCFEnd(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_CFEND


[Expand]
function IEEE80211IsCFEndAck(FrameControl:Word):Boolean; inline;
Description: Check if IEEE80211_FTYPE_CTL && IEEE80211_STYPE_CFENDACK


[Expand]
function IEEE80211IsNullFunc(FrameControl:Word):Boolean; inline;
Description: Check if frame is a regular (non-QoS) nullfunc frame


[Expand]
function IEEE80211IsQoSNullFunc(FrameControl:Word):Boolean; inline;
Description: Check if frame is a QoS nullfunc frame


[Expand]
function IEEE80211IsBufferableMMPDU(FrameControl:Word):Boolean; inline;
Description: Check if frame is bufferable MMPDU


[Expand]
function IEEE80211IsFirstFrag(SequenceControl:Word):Boolean; inline;
Description: Check if IEEE80211_SCTL_FRAG is not set


[Expand]
function IEEE80211HeaderLength(FrameControl:Word):LongWord;
Description: To be documented


[Expand]
function IEEE80211HeaderLengthFromBuffer(Data:Pointer; Size:LongWord):LongWord;
Description: To be documented


[Expand]
function IEEE80211MCSToChains(MCS:PIEEE80211MCSInfo):Byte;
Description: To be documented


[Expand]
function IEEE80211ChannelToFrequency(Channel:Integer; Band:LongWord):Integer;
Description: To be documented


[Expand]
function IEEE80211FrequencyToChannel(Frequency:Integer):Integer;
Description: To be documented


[Expand]
procedure IEEE80211InitializeChannelDefinition(Definition:PIEEE80211ChannelDefinition; Channel:PIEEE80211Channel; ChannelType:LongWord);
Description: To be documented


[Expand]
function IEEE80211FindInformationElement(Identifier:Byte; InformationElement:PByte; ElementLength:LongWord):PByte;
Description: To be documented


[Expand]
function IEEE80211ParseInformationElements(Buffer:Pointer; Size:LongWord; Action:Boolean; Elements:PIEEE80211InformationElements):Boolean;
Description: To be documented


Return to Unit Reference