1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
|
<table class="head">
<tr>
<td class="head-ltitle">NET80211(4)</td>
<td class="head-vol">Device Drivers Manual</td>
<td class="head-rtitle">NET80211(4)</td>
</tr>
</table>
<div class="manual-text">
<section class="Sh">
<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1>
<p class="Pp"><code class="Nm">net80211</code> —
<span class="Nd">standard interface to IEEE 802.11 devices</span></p>
</section>
<section class="Sh">
<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1>
<p class="Pp"><code class="In">#include
<<a class="In">sys/types.h</a>></code>
<br/>
<code class="In">#include <<a class="In">sys/socket.h</a>></code>
<br/>
<code class="In">#include <<a class="In">net/if.h</a>></code>
<br/>
<code class="In">#include <<a class="In">net/ethernet.h</a>></code>
<br/>
<code class="In">#include
<<a class="In">net80211/ieee80211_ioctl.h</a>></code></p>
</section>
<section class="Sh">
<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1>
<p class="Pp">This section describes the standard programming interface to
configure and retrieve status information for IEEE 802.11 devices that
depend on the <a class="Xr">wlan(4)</a> module for operation. The interface
is via one of the following <a class="Xr">ioctl(2)</a> calls on a
socket:</p>
<dl class="Bl-tag">
<dt id="SIOCG80211"><a class="permalink" href="#SIOCG80211"><code class="Dv">SIOCG80211</code></a></dt>
<dd>Get configuration or status information.</dd>
<dt id="SIOCS80211"><a class="permalink" href="#SIOCS80211"><code class="Dv">SIOCS80211</code></a></dt>
<dd>Set configuration information.</dd>
</dl>
<p class="Pp">These requests are made via a modified <var class="Vt">ifreq</var>
structure. This structure is defined as follows:</p>
<div class="Bd Pp Li">
<pre>struct ieee80211req {
char i_name[IFNAMSIZ]; /* if_name, e.g. "wi0" */
uint16_t i_type; /* req type */
int16_t i_val; /* Index or simple value */
int16_t i_len; /* Index or simple value */
void *i_data; /* Extra data */
};</pre>
</div>
<p class="Pp">Requests that are not supported by the underlying device return -1
and set the global variable errno to <code class="Er">EOPNOTSUPP</code>.
<code class="Dv">SIOCG80211</code> requests that return data to an
application place small values in <var class="Va">i_val</var> or in a
user-specified buffer pointed to by <var class="Va">i_data</var>. When an
indirect buffer is used <var class="Va">i_len</var> specifies how large the
indirect buffer is and on return it is set by the system to the actual
amount of data returned. <code class="Dv">SIOCS80211</code> requests use a
similar scheme with data passed to the system taken either from
<var class="Va">i_val</var> or an indirect buffer pointed to by
<var class="Va">i_data</var>.</p>
<p class="Pp">For <code class="Dv">SIOCG80211</code> the following values of
<var class="Va">i_type</var> are valid:</p>
<dl class="Bl-tag">
<dt id="IEEE80211_IOC_AMPDU"><a class="permalink" href="#IEEE80211_IOC_AMPDU"><code class="Dv">IEEE80211_IOC_AMPDU</code></a></dt>
<dd>Return whether or not AMPDU is enabled in <var class="Va">i_val</var>.
AMPDU is an aggregation scheme that is part of the 802.11n specification
and is used only when operating on an HT channel. The value returned is
one of: 0 (AMPDU disabled), 1 (AMPDU enabled for transmit), 2 (AMPDU
enabled for receive), and 3 (AMPDU enabled for transmit and receive). The
802.11n specification says a compliant station must receive AMPDU but may
not support transmitting AMPDU frames. Disabling AMPDU receive is mainly
useful for testing and working around bugs.</dd>
<dt id="IEEE80211_IOC_AMPDU_DENSITY"><a class="permalink" href="#IEEE80211_IOC_AMPDU_DENSITY"><code class="Dv">IEEE80211_IOC_AMPDU_DENSITY</code></a></dt>
<dd>Return the minimum density for bursting AMPDU frames in
<var class="Va">i_val</var>. The value returned is one of: 0 (no time
restriction), 1 (1/4 usec), 2 (1/2 usec), 3 (1 usec), 4 (2 usec), 5 (4
usec), 6 (8 usec), and 7 (16 usec).</dd>
<dt id="IEEE80211_IOC_AMPDU_LIMIT"><a class="permalink" href="#IEEE80211_IOC_AMPDU_LIMIT"><code class="Dv">IEEE80211_IOC_AMPDU_LIMIT</code></a></dt>
<dd>Return the limit on the size of AMPDU frames in
<var class="Va">i_val</var>. The value returned is one of: 0 (8
kilobytes), 1 (16 kilobytes), 2 (32 kilobytes), and 3 (64 kilobytes).</dd>
<dt id="IEEE80211_IOC_AMSDU"><a class="permalink" href="#IEEE80211_IOC_AMSDU"><code class="Dv">IEEE80211_IOC_AMSDU</code></a></dt>
<dd>Return whether or not AMSDU is enabled in <var class="Va">i_val</var>.
AMSDU is an aggregation scheme that is part of the 802.11n specification
and is used only when operating on an HT channel. The value returned is
one of: 0 (AMSDU disabled), 1 (AMSDU enabled for transmit), 2 (AMSDU
enabled for receive), and 3 (AMSDU enabled for transmit and receive). The
802.11n specification says a compliant station must receive AMSDU but may
not support transmitting AMSDU frames. Disabling AMSDU receive is mainly
useful for testing and working around bugs.</dd>
<dt id="IEEE80211_IOC_AMSDU_LIMIT"><a class="permalink" href="#IEEE80211_IOC_AMSDU_LIMIT"><code class="Dv">IEEE80211_IOC_AMSDU_LIMIT</code></a></dt>
<dd>Return the limit on the size of AMSDU frames in
<var class="Va">i_val</var>. The value returned is one of: 3839 (bytes)
and 7935 (bytes). Note these values are specified by 802.11n; arbitrary
values are not allowed.</dd>
<dt id="IEEE80211_IOC_APBRIDGE"><a class="permalink" href="#IEEE80211_IOC_APBRIDGE"><code class="Dv">IEEE80211_IOC_APBRIDGE</code></a></dt>
<dd>Return whether AP bridging is enabled in <var class="Va">i_val</var>.
Normally packets sent between stations associated to the same access point
are delivered without going through system layers that do packet
filtering; when AP bridging is disabled packets are passed up the system
to be forwarded using some other mechanism. This value will be non-zero
when AP bridging is enabled and otherwise zero.</dd>
<dt id="IEEE80211_IOC_APPIE"><a class="permalink" href="#IEEE80211_IOC_APPIE"><code class="Dv">IEEE80211_IOC_APPIE</code></a></dt>
<dd>Return an application information element via
<var class="Va">i_data</var>. Application IE's are maintained for many
802.11 frames; the request must identify the frame to return an IE for in
<var class="Va">i_val</var>. For example, to retrieve the IE sent in each
Beacon frame <var class="Va">i_val</var> would be set to
<var class="Va">IEEE80211_FC0_SUBTYPE_BEACON</var> |
<var class="Va">IEEE80211_FC0_TYPE_MGT</var>. If no information element is
installed then <code class="Er">EINVAL</code> is returned. If the data
buffer for returning data is too small to hold the information element the
value is truncated; this permits querying the presence of data by
requesting zero bytes of data be returned.</dd>
<dt id="IEEE80211_IOC_AUTHMODE"><a class="permalink" href="#IEEE80211_IOC_AUTHMODE"><code class="Dv">IEEE80211_IOC_AUTHMODE</code></a></dt>
<dd>Return the current authentication mode in <var class="Va">i_val</var>.
Valid values are <code class="Dv">IEEE80211_AUTH_NONE</code> (no
authentication), <code class="Dv">IEEE80211_AUTH_OPEN</code> (open
authentication), <code class="Dv">IEEE80211_AUTH_SHARED</code> (shared key
authentication), <code class="Dv">IEEE80211_AUTH_8021X</code> (802.1x only
authentication), and <code class="Dv">IEEE80211_AUTH_WPA</code>
(WPA/802.11i/802.1x authentication).</dd>
<dt id="IEEE80211_IOC_BEACON_INTERVAL"><a class="permalink" href="#IEEE80211_IOC_BEACON_INTERVAL"><code class="Dv">IEEE80211_IOC_BEACON_INTERVAL</code></a></dt>
<dd>Return the time between Beacon frames (in TU) in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_BGSCAN"><a class="permalink" href="#IEEE80211_IOC_BGSCAN"><code class="Dv">IEEE80211_IOC_BGSCAN</code></a></dt>
<dd>Return whether background scanning is enabled in
<var class="Va">i_val</var>. When this value is non-zero and operating in
station mode the station will periodically leave the current channel and
scan for neighboring stations. See also
<code class="Dv">IEEE80211_IOC_BGSCAN_IDLE</code> and
<code class="Dv">IEEE80211_IOC_BGSCAN_INTERVAL</code>.</dd>
<dt id="IEEE80211_IOC_BGSCAN_IDLE"><a class="permalink" href="#IEEE80211_IOC_BGSCAN_IDLE"><code class="Dv">IEEE80211_IOC_BGSCAN_IDLE</code></a></dt>
<dd>Return in <var class="Va">i_val</var> the minimum time (msecs) a station
must be idle (i.e. not transmitting or receiving frames) before it will do
a background scan. See also
<code class="Dv">IEEE80211_IOC_BGSCAN_INTERVAL</code>.</dd>
<dt id="IEEE80211_IOC_BGSCAN_INTERVAL"><a class="permalink" href="#IEEE80211_IOC_BGSCAN_INTERVAL"><code class="Dv">IEEE80211_IOC_BGSCAN_INTERVAL</code></a></dt>
<dd>Return in <var class="Va">i_val</var> the minimum time (seconds) between
background scan operations. See also
<code class="Dv">IEEE80211_IOC_BGSCAN_IDLE</code>.</dd>
<dt id="IEEE80211_IOC_BMISSTHRESHOLD"><a class="permalink" href="#IEEE80211_IOC_BMISSTHRESHOLD"><code class="Dv">IEEE80211_IOC_BMISSTHRESHOLD</code></a></dt>
<dd>Return in <var class="Va">i_val</var> the number of consecutive missed
Beacon frames before the system will attempt to roam to a different/better
access point.</dd>
<dt id="IEEE80211_IOC_BSSID"><a class="permalink" href="#IEEE80211_IOC_BSSID"><code class="Dv">IEEE80211_IOC_BSSID</code></a></dt>
<dd>Return the MAC address for the current BSS identifier via
<var class="Va">i_data</var>. When the interface is running, the bssid is
either the value configured locally (e.g. for an IBSS network started by
the local station) or the value adopted when joining an existing network.
For WDS interfaces this value is the address of the remote station. When
the interface is not running, the bssid returned is the desired bssid, if
any, that has been configured.</dd>
<dt id="IEEE80211_IOC_BURST"><a class="permalink" href="#IEEE80211_IOC_BURST"><code class="Dv">IEEE80211_IOC_BURST</code></a></dt>
<dd>Return whether or not packet bursting is enabled in
<var class="Va">i_val</var>. If this value is non-zero then the system
will try to send packets closely spaced to improve throughput.</dd>
<dt id="IEEE80211_IOC_CHANINFO"><a class="permalink" href="#IEEE80211_IOC_CHANINFO"><code class="Dv">IEEE80211_IOC_CHANINFO</code></a></dt>
<dd>Return the set of available channels via <var class="Va">i_data</var>.
Note this data should be used by user applications to map between channel
specifications (frequency and attributes) and IEEE channel numbers as user
applications may not have the necessary information to do this directly
(e.g. for 900MHz radios, operation in the Public Safety Band).</dd>
<dt id="IEEE80211_IOC_CHANLIST"><a class="permalink" href="#IEEE80211_IOC_CHANLIST"><code class="Dv">IEEE80211_IOC_CHANLIST</code></a></dt>
<dd>Return the current list of usable channels via
<var class="Va">i_data</var>. The channel list is returned as a bit vector
with bit N set to 1 if IEEE channel number N is available for use.</dd>
<dt id="IEEE80211_IOC_CHANNEL"><a class="permalink" href="#IEEE80211_IOC_CHANNEL"><code class="Dv">IEEE80211_IOC_CHANNEL</code></a></dt>
<dd>Return the IEEE channel number of the current channel in
<var class="Va">i_val</var>. Note this request is deprecated; use
<code class="Dv">IEEE80211_IOC_CURCHAN</code> instead.</dd>
<dt id="IEEE80211_IOC_COUNTERMEASURES"><a class="permalink" href="#IEEE80211_IOC_COUNTERMEASURES"><code class="Dv">IEEE80211_IOC_COUNTERMEASURES</code></a></dt>
<dd>Return whether TKIP Countermeasures are enabled in
<var class="Va">i_val</var>. This value will be non-zero when
Countermeasures are enabled and otherwise zero.</dd>
<dt id="IEEE80211_IOC_CURCHAN"><a class="permalink" href="#IEEE80211_IOC_CURCHAN"><code class="Dv">IEEE80211_IOC_CURCHAN</code></a></dt>
<dd>Return information for the current channel via
<var class="Va">i_data</var>. This information includes the IEEE channel
number, the frequency, and attributes that describe the operating
constraints (e.g. Passive Scan, DFS, usage restrictions).</dd>
<dt id="IEEE80211_IOC_DEVCAPS"><a class="permalink" href="#IEEE80211_IOC_DEVCAPS"><code class="Dv">IEEE80211_IOC_DEVCAPS</code></a></dt>
<dd>Return device capabilities in the data buffer pointed at by
<var class="Va">i_data</var>. The buffer must be large enough to return
the number of available channels but otherwise may be made small to limit
how much information is returned.</dd>
<dt id="IEEE80211_IOC_DFS"><a class="permalink" href="#IEEE80211_IOC_DFS"><code class="Dv">IEEE80211_IOC_DFS</code></a></dt>
<dd>Return whether or not Dynamic Frequency Selection (DFS) is enabled in
<var class="Va">i_val</var>. DFS embodies several facilities including
detection of overlapping radar signals, dynamic transmit power control,
and channel selection according to a least-congested criteria. DFS support
is mandatory for some 5GHz frequencies in certain locales (e.g. ETSI). By
default DFS is enabled according to the regulatory definitions and the
current country code, regdomain, and channel.</dd>
<dt id="IEEE80211_IOC_DOTD"><a class="permalink" href="#IEEE80211_IOC_DOTD"><code class="Dv">IEEE80211_IOC_DOTD</code></a></dt>
<dd>Return whether or not 802.11d support is enabled in
<var class="Va">i_val</var>. When 802.11d is enabled in station mode,
Beacon frames that advertise a country code different than the currently
configured country code will cause an event to be dispatched to user
applications. This event can be used by the station to adopt that country
code and operate according to the associated regulatory constraints. When
operating as an access point with 802.11d enabled the Beacon and
ProbeResponse frames transmitted will advertise the current regulatory
domain settings.</dd>
<dt id="IEEE80211_IOC_DOTH"><a class="permalink" href="#IEEE80211_IOC_DOTH"><code class="Dv">IEEE80211_IOC_DOTH</code></a></dt>
<dd>Return whether 802.11h support is enabled in <var class="Va">i_val</var>.
When 802.11h is enabled Beacon and ProbeResponse frames will have the
SpectrumMgt bit set in the capabilities field and country and power
constraint information elements will be present. 802.11h support also
includes handling Channel Switch Announcements (CSA) which are a mechanism
to coordinate channel changes by an access point. By default 802.11h is
enabled if the device is capable.</dd>
<dt id="IEEE80211_IOC_DROPUNENCRYPTED"><a class="permalink" href="#IEEE80211_IOC_DROPUNENCRYPTED"><code class="Dv">IEEE80211_IOC_DROPUNENCRYPTED</code></a></dt>
<dd>Return, in <var class="Va">i_val</var>, whether unencrypted packets
transmit/received should be discarded. This value will be zero if
unencrypted packets will be accepted and non-zero if they are to be
discarded.</dd>
<dt id="IEEE80211_IOC_DTIM_PERIOD"><a class="permalink" href="#IEEE80211_IOC_DTIM_PERIOD"><code class="Dv">IEEE80211_IOC_DTIM_PERIOD</code></a></dt>
<dd>Return the period (in beacon intervals) between DTIM events in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_DWDS"><a class="permalink" href="#IEEE80211_IOC_DWDS"><code class="Dv">IEEE80211_IOC_DWDS</code></a></dt>
<dd>Return, in <var class="Va">i_val</var>, whether or not Dynamic WDS support
is enabled. Dynamic WDS is a facility by which packets may be tunneled
over normal Infrastructure BSS associations using 4-address (WDS)
frames.</dd>
<dt id="IEEE80211_IOC_FF"><a class="permalink" href="#IEEE80211_IOC_FF"><code class="Dv">IEEE80211_IOC_FF</code></a></dt>
<dd>Return, in <var class="Va">i_val</var>, whether Atheros fast-frames
support is enabled. Fast-frames is a non-standard protocol extension that
aggregates multiple frames to improve throughput. Note that enabling
fast-frames support does not guarantee use; the client and access point
must negotiate its use.</dd>
<dt id="IEEE80211_IOC_FRAGTHRESHOLD"><a class="permalink" href="#IEEE80211_IOC_FRAGTHRESHOLD"><code class="Dv">IEEE80211_IOC_FRAGTHRESHOLD</code></a></dt>
<dd>Return, in <var class="Va">i_val</var>, the threshold (in bytes) for
enabling fragmentation frames. Packets larger than this value will
automatically be split into multiple fragmented frames that are sent one
after the other.</dd>
<dt id="IEEE80211_IOC_GREENFIELD"><a class="permalink" href="#IEEE80211_IOC_GREENFIELD"><code class="Dv">IEEE80211_IOC_GREENFIELD</code></a></dt>
<dd>Return, in <var class="Va">i_val</var>, whether or not Greenfield preamble
use is enabled. This setting is meaningful only when operating with
802.11n on an HT channel.</dd>
<dt id="IEEE80211_IOC_HIDESSID"><a class="permalink" href="#IEEE80211_IOC_HIDESSID"><code class="Dv">IEEE80211_IOC_HIDESSID</code></a></dt>
<dd>Return, in <var class="Va">i_val</var>, whether SSID hiding/cloaking is
enabled. SSID hiding is only meaningful when operating as an access point.
When this is enabled Beacon frames do not include the SSID and
ProbeRequest frames are not answered unless they include the AP's SSID.
This value will be non-zero when SSID hiding is enabled and otherwise
zero.</dd>
<dt id="IEEE80211_IOC_HTCOMPAT"><a class="permalink" href="#IEEE80211_IOC_HTCOMPAT"><code class="Dv">IEEE80211_IOC_HTCOMPAT</code></a></dt>
<dd>Return, in <var class="Va">i_val</var>, whether or not 802.11n
compatibility support is enabled. The 802.11n protocol specification went
through several incompatible iterations. Some vendors implemented 11n
support to older specifications that will not interoperate with a purely
11n-compliant station. In particular the information elements included in
management frames for old devices are different. When compatibility
support is enabled both standard and compatible data will be provided
and/or accepted.</dd>
<dt id="IEEE80211_IOC_HTCONF"><a class="permalink" href="#IEEE80211_IOC_HTCONF"><code class="Dv">IEEE80211_IOC_HTCONF</code></a></dt>
<dd>Return the setting for automatic promotion of HT channels in
<var class="Va">i_val</var>. Promotion happens when the system must select
a channel and may choose between legacy, HT20, and HT40 operation (e.g.
when scanning). Valid values are: 0 (do not promote, use legacy), 1
(promote to HT20), and 2 (promote to HT40).</dd>
<dt id="IEEE80211_IOC_HTPROTMODE"><a class="permalink" href="#IEEE80211_IOC_HTPROTMODE"><code class="Dv">IEEE80211_IOC_HTPROTMODE</code></a></dt>
<dd>Return, in <var class="Va">i_val</var>, the technique used to protect HT
frames in a mixed 802.11n network. Valid values are:
<code class="Dv">IEEE80211_PROTMODE_OFF</code> (no protection enabled) and
<code class="Dv">IEEE80211_PROTMODE_RTSCTS</code> (send RTS and wait for
CTS).</dd>
<dt id="IEEE80211_IOC_HWMP_MAXHOPS"><a class="permalink" href="#IEEE80211_IOC_HWMP_MAXHOPS"><code class="Dv">IEEE80211_IOC_HWMP_MAXHOPS</code></a></dt>
<dd>Return the maximum acceptable hop count in an HWMP path in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_HWMP_ROOTMODE"><a class="permalink" href="#IEEE80211_IOC_HWMP_ROOTMODE"><code class="Dv">IEEE80211_IOC_HWMP_ROOTMODE</code></a></dt>
<dd>Return the setting for Mesh root mode operation in
<var class="Va">i_val</var>. Valid values are:
<code class="Dv">IEEE80211_HWMP_ROOTMODE_DISABLED</code> (root mode is
disabled), <code class="Dv">IEEE80211_HWMP_ROOTMODE_NORMAL</code> (send
broadcast Path Request frames),
<code class="Dv">IEEE80211_HWMP_ROOTMODE_PROACTIVE</code> (send broadcast
Path Request frames and force replies) and
<code class="Dv">IEEE80211_HWMP_ROOTMODE_RANN</code> (send broadcast Root
Announcement (RANN) frames).</dd>
<dt id="IEEE80211_IOC_IC_NAME"><a class="permalink" href="#IEEE80211_IOC_IC_NAME"><code class="Dv">IEEE80211_IOC_IC_NAME</code></a></dt>
<dd>Return the underlying hardware <a class="Xr">device(9)</a> name in the
buffer pointed to by <var class="Va">i_data</var> and the name length
including terminating NUL character in <var class="Va">i_len</var>. If the
buffer length is too small to hold the full name
<code class="Er">EINVAL</code> will be returned.</dd>
<dt id="IEEE80211_IOC_INACTIVITY"><a class="permalink" href="#IEEE80211_IOC_INACTIVITY"><code class="Dv">IEEE80211_IOC_INACTIVITY</code></a></dt>
<dd>Return whether or not the system handles inactivity processing in
<var class="Va">i_val</var>. When inactivity processing is enabled the
system will track stations that have not transmitted frames and
periodically probe them to check if they are still present. Stations that
are inactive and do not respond to probes are dropped.</dd>
<dt id="IEEE80211_IOC_MACCMD"><a class="permalink" href="#IEEE80211_IOC_MACCMD"><code class="Dv">IEEE80211_IOC_MACCMD</code></a></dt>
<dd>Return information about the state of the MAC address access control list
(ACL) system. There are two requests supported:
<code class="Dv">IEEE80211_MACCMD_POLICY</code> (to retrieve the current
policy in <var class="Va">i_val ),</var> and
<code class="Dv">IEEE80211_MACCMD_LIST</code> to retrieve the list
installed/active ACL's via <var class="Va">i_data</var>. The
<a class="Xr">wlan_acl(4)</a> module must be installed and enabled or
<code class="Er">EINVAL</code> will be returned.</dd>
<dt id="IEEE80211_IOC_MESH_AP"><a class="permalink" href="#IEEE80211_IOC_MESH_AP"><code class="Dv">IEEE80211_IOC_MESH_AP</code></a></dt>
<dd>Return whether or not Mesh AP support is enabled in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_MESH_ID"><a class="permalink" href="#IEEE80211_IOC_MESH_ID"><code class="Dv">IEEE80211_IOC_MESH_ID</code></a></dt>
<dd>Return the Mesh ID in the buffer pointed to by
<var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_MESH_FWRD"><a class="permalink" href="#IEEE80211_IOC_MESH_FWRD"><code class="Dv">IEEE80211_IOC_MESH_FWRD</code></a></dt>
<dd>Return whether or not packet forwarding support is enabled in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_MESH_PP_METRIC"><a class="permalink" href="#IEEE80211_IOC_MESH_PP_METRIC"><code class="Dv">IEEE80211_IOC_MESH_PP_METRIC</code></a></dt>
<dd>Return the link metric protocol in the buffer pointed to by
<var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_MESH_PP_PATH"><a class="permalink" href="#IEEE80211_IOC_MESH_PP_PATH"><code class="Dv">IEEE80211_IOC_MESH_PP_PATH</code></a></dt>
<dd>Return the path selection protocol in the buffer pointed to by
<var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_MESH_RTCMD"><a class="permalink" href="#IEEE80211_IOC_MESH_RTCMD"><code class="Dv">IEEE80211_IOC_MESH_RTCMD</code></a></dt>
<dd>Return information about the state of the Mesh routing tables. One request
is supported: <code class="Dv">IEEE80211_MESH_RTCMD_LIST</code> to
retrieve the contents of the routing table in the buffer pointed to by
<var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_MESH_TTL"><a class="permalink" href="#IEEE80211_IOC_MESH_TTL"><code class="Dv">IEEE80211_IOC_MESH_TTL</code></a></dt>
<dd>Return, in <var class="Va">i_val</var>, the Mesh Time To Live (TTL)
setting installed in packets transmitted by this mesh node.</dd>
<dt id="IEEE80211_IOC_NUMSSIDS"><a class="permalink" href="#IEEE80211_IOC_NUMSSIDS"><code class="Dv">IEEE80211_IOC_NUMSSIDS</code></a></dt>
<dd>Return the number of SSIDs supported in <var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_NUMWEPKEYS"><a class="permalink" href="#IEEE80211_IOC_NUMWEPKEYS"><code class="Dv">IEEE80211_IOC_NUMWEPKEYS</code></a></dt>
<dd>Return the number of WEP keys supported in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_POWERSAVE"><a class="permalink" href="#IEEE80211_IOC_POWERSAVE"><code class="Dv">IEEE80211_IOC_POWERSAVE</code></a></dt>
<dd>Return the current powersaving mode in <var class="Va">i_val</var>. Valid
values are <code class="Dv">IEEE80211_POWERSAVE_OFF</code> (power save
operation is disabled) and <code class="Dv">IEEE80211_POWERSAVE_ON</code>
(power save operation is enabled).</dd>
<dt id="IEEE80211_IOC_POWERSAVESLEEP"><a class="permalink" href="#IEEE80211_IOC_POWERSAVESLEEP"><code class="Dv">IEEE80211_IOC_POWERSAVESLEEP</code></a></dt>
<dd>Return the powersave sleep time in TU in <var class="Va">i_val</var>. This
value is also termed the listen interval and represents the maximum time a
station will sleep before waking to retrieve packets buffered by an access
point.</dd>
<dt id="IEEE80211_IOC_PRIVACY"><a class="permalink" href="#IEEE80211_IOC_PRIVACY"><code class="Dv">IEEE80211_IOC_PRIVACY</code></a></dt>
<dd>Return the current MLME setting for PRIVACY in
<var class="Va">i_val</var>. When PRIVACY is enabled all data packets must
be encrypted. This value will be zero if PRIVACY is disabled and non-zero
when PRIVACY is enabled.</dd>
<dt id="IEEE80211_IOC_PROTMODE"><a class="permalink" href="#IEEE80211_IOC_PROTMODE"><code class="Dv">IEEE80211_IOC_PROTMODE</code></a></dt>
<dd>Return the current 802.11g protection mode in <var class="Va">i_val</var>.
Protection is the mechanism used to safeguard 802.11b stations operating
on an 802.11g network. Valid values are
<code class="Dv">IEEE80211_PROTMODE_OFF</code> (no protection enabled),
<code class="Dv">IEEE80211_PROTMODE_CTS</code> (send CTS to yourself), and
<code class="Dv">IEEE80211_PROTMODE_RTSCTS</code> (send RTS and wait for
CTS).</dd>
<dt id="IEEE80211_IOC_PUREG"><a class="permalink" href="#IEEE80211_IOC_PUREG"><code class="Dv">IEEE80211_IOC_PUREG</code></a></dt>
<dd>Return whether ``pure 11g'' mode is enabled in
<var class="Va">i_val</var>. This setting is meaningful only for access
point operation; when non-zero, 802.11b stations will not be allowed to
associate.</dd>
<dt id="IEEE80211_IOC_PUREN"><a class="permalink" href="#IEEE80211_IOC_PUREN"><code class="Dv">IEEE80211_IOC_PUREN</code></a></dt>
<dd>Return whether ``pure 11n'' mode is enabled in
<var class="Va">i_val</var>. This setting is meaningful only for access
point operation; when non-zero, legacy (non-11n capable) stations will not
be allowed to associate.</dd>
<dt id="IEEE80211_IOC_REGDOMAIN"><a class="permalink" href="#IEEE80211_IOC_REGDOMAIN"><code class="Dv">IEEE80211_IOC_REGDOMAIN</code></a></dt>
<dd>Return the regulatory state in the buffer pointed to by
<var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_RIFS"><a class="permalink" href="#IEEE80211_IOC_RIFS"><code class="Dv">IEEE80211_IOC_RIFS</code></a></dt>
<dd>Return whether or not Reduced InterFrame Spacing (RIFS) is enabled in
<var class="Va">i_val</var>. This setting is meaningful only when
operating with 802.11n on an HT channel.</dd>
<dt id="IEEE80211_IOC_ROAM"><a class="permalink" href="#IEEE80211_IOC_ROAM"><code class="Dv">IEEE80211_IOC_ROAM</code></a></dt>
<dd>Return station roaming parameters in the buffer pointed to by
<var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_ROAMING"><a class="permalink" href="#IEEE80211_IOC_ROAMING"><code class="Dv">IEEE80211_IOC_ROAMING</code></a></dt>
<dd>Return the current roaming mode in <var class="Va">i_val</var>. Roaming
mode specifies which entity controls operation of the MLME state machine
when operating as a station in an Infrastructure BSS. Valid values are:
<code class="Dv">IEEE80211_ROAMING_DEVICE</code> (driver/firmware is in
control), <code class="Dv">IEEE80211_ROAMING_AUTO</code> (host 802.11
layer is in control), and <code class="Dv">IEEE80211_ROAMING_MANUAL</code>
(application is in control).</dd>
<dt id="IEEE80211_IOC_RTSTHRESHOLD"><a class="permalink" href="#IEEE80211_IOC_RTSTHRESHOLD"><code class="Dv">IEEE80211_IOC_RTSTHRESHOLD</code></a></dt>
<dd>Return the threshold (in bytes) for enabling transmission of RTS frames in
<var class="Va">i_val</var>. Packets larger than this value will
automatically have an RTS frame sent preceding it to reduce the likelihood
of packet loss.</dd>
<dt id="IEEE80211_IOC_SCAN_RESULTS"><a class="permalink" href="#IEEE80211_IOC_SCAN_RESULTS"><code class="Dv">IEEE80211_IOC_SCAN_RESULTS</code></a></dt>
<dd>Return the current contents of the scan cache in the data area pointed to
by <var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_SCANVALID"><a class="permalink" href="#IEEE80211_IOC_SCANVALID"><code class="Dv">IEEE80211_IOC_SCANVALID</code></a></dt>
<dd>Return in <var class="Va">i_val</var> how long (in seconds) results from a
scan operation will be considered valid. When scan results are no longer
valid and they are needed (e.g. to roam) the system will initiate a scan
operation to replenish the scan cache.</dd>
<dt id="IEEE80211_IOC_SHORTGI"><a class="permalink" href="#IEEE80211_IOC_SHORTGI"><code class="Dv">IEEE80211_IOC_SHORTGI</code></a></dt>
<dd>Return whether or not Short Guard Interval (SGI) is enabled in
<var class="Va">i_val</var>. Note SGI is only used when operating with
802.11n on an HT channel.</dd>
<dt id="IEEE80211_IOC_SMPS"><a class="permalink" href="#IEEE80211_IOC_SMPS"><code class="Dv">IEEE80211_IOC_SMPS</code></a></dt>
<dd>Return the Spatial Multiplexing Power Save (SMPS) setting in
<var class="Va">i_val</var>. This setting is meaningful only when
operating with 802.11n on an HT channel. Valid values are:
<code class="Dv">IEEE80211_HTCAP_SMPS_DYNAMIC</code> (Dynamic SMPS is
enabled), <code class="Dv">IEEE80211_HTCAP_SMPS_ENA</code> (Static SMPS is
enabled), and <code class="Dv">IEEE80211_HTCAP_SMPS_OFF</code> (SMPS is
disabled).</dd>
<dt id="IEEE80211_IOC_SSID"><a class="permalink" href="#IEEE80211_IOC_SSID"><code class="Dv">IEEE80211_IOC_SSID</code></a></dt>
<dd>Return the requested SSID in the buffer pointed to by
<var class="Va">i_data</var>. If <var class="Va">i_val</var> is ≥ 0
then the request refers to the configured value for that slot. Generally,
0 is the only valid value, but some interfaces support more SSIDs.</dd>
<dt id="IEEE80211_IOC_STA_INFO"><a class="permalink" href="#IEEE80211_IOC_STA_INFO"><code class="Dv">IEEE80211_IOC_STA_INFO</code></a></dt>
<dd>Return information about the current state of the specified station(s) via
<var class="Va">i_data</var>. The MAC address of a single station may be
passed in or, if the broadcast address is supplied, information about all
stations will be returned. If a single station is requested and the MAC
address is unknown then <code class="Er">ENOENT</code> will be
returned.</dd>
<dt id="IEEE80211_IOC_STA_STATS"><a class="permalink" href="#IEEE80211_IOC_STA_STATS"><code class="Dv">IEEE80211_IOC_STA_STATS</code></a></dt>
<dd>Return collected statistics for the specified station via
<var class="Va">i_data</var>. The MAC address of the desired station is
passed in; if it is unknown <code class="Er">ENOENT</code> will be
returned.</dd>
<dt id="IEEE80211_IOC_STA_VLAN"><a class="permalink" href="#IEEE80211_IOC_STA_VLAN"><code class="Dv">IEEE80211_IOC_STA_VLAN</code></a></dt>
<dd>Return any VLAN tag assigned to a station via
<var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_TDMA_SLOT"><a class="permalink" href="#IEEE80211_IOC_TDMA_SLOT"><code class="Dv">IEEE80211_IOC_TDMA_SLOT</code></a></dt>
<dd>Return the slot number for the station in <var class="Va">i_val</var>.
Slot number zero is the master station in a TDMA network.</dd>
<dt id="IEEE80211_IOC_TDMA_SLOTCNT"><a class="permalink" href="#IEEE80211_IOC_TDMA_SLOTCNT"><code class="Dv">IEEE80211_IOC_TDMA_SLOTCNT</code></a></dt>
<dd>Return the count of slots in the TDMA network in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_TDMA_SLOTLEN"><a class="permalink" href="#IEEE80211_IOC_TDMA_SLOTLEN"><code class="Dv">IEEE80211_IOC_TDMA_SLOTLEN</code></a></dt>
<dd>Return the length (in usecs) of the TDMA slot assigned to each station in
the network in <var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_TDMA_BINTERVAL"><a class="permalink" href="#IEEE80211_IOC_TDMA_BINTERVAL"><code class="Dv">IEEE80211_IOC_TDMA_BINTERVAL</code></a></dt>
<dd>Return the number of superframes between Beacon frames in
<var class="Va">i_val</var>. A TDMA network with N slots and slot length T
has a superframe of NxT.</dd>
<dt id="IEEE80211_IOC_TSN"><a class="permalink" href="#IEEE80211_IOC_TSN"><code class="Dv">IEEE80211_IOC_TSN</code></a></dt>
<dd>Return whether or not Transitional Security Network (TSN) is enabled in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_TURBOP"><a class="permalink" href="#IEEE80211_IOC_TURBOP"><code class="Dv">IEEE80211_IOC_TURBOP</code></a></dt>
<dd>Return whether Atheros Dynamic Turbo mode is enabled in
<var class="Va">i_val</var>. Dynamic Turbo mode is a non-standard protocol
extension available only on Atheros devices where channel width is
dynamically changed between 20MHz and 40MHz. Note that enabling Dynamic
Turbo mode support does not guarantee use; both client and access point
must use Atheros devices and support must be enabled on both sides.</dd>
<dt id="IEEE80211_IOC_TXPARAMS"><a class="permalink" href="#IEEE80211_IOC_TXPARAMS"><code class="Dv">IEEE80211_IOC_TXPARAMS</code></a></dt>
<dd>Return transmit parameters in the buffer pointed to by
<var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_TXPOWER"><a class="permalink" href="#IEEE80211_IOC_TXPOWER"><code class="Dv">IEEE80211_IOC_TXPOWER</code></a></dt>
<dd>Return the transmit power limit in .5 dBm units in
<var class="Va">i_val</var>. This value represents the effective maximum
and is calculated according to the maximum power allowed by local
regulations, any user-specified power limit, and the maximum power the
device is capable of.</dd>
<dt id="IEEE80211_IOC_TXPOWMAX"><a class="permalink" href="#IEEE80211_IOC_TXPOWMAX"><code class="Dv">IEEE80211_IOC_TXPOWMAX</code></a></dt>
<dd>Return the user-specified maximum transmit power in .5 dBm units in
<var class="Va">i_val</var>. The maximum setting is applied after any
regulatory cap.</dd>
<dt id="IEEE80211_IOC_WEP"><a class="permalink" href="#IEEE80211_IOC_WEP"><code class="Dv">IEEE80211_IOC_WEP</code></a></dt>
<dd>Return the current WEP status in <var class="Va">i_val</var>. Valid values
are: <code class="Dv">IEEE80211_WEP_ON</code> (enabled for all packets
sent and received), <code class="Dv">IEEE80211_WEP_OFF</code> (disabled),
and <code class="Dv">IEEE80211_WEP_MIXED</code> (enabled for transmit and
receive but also willing to receive unencrypted frames). This request is
deprecated; use <code class="Dv">IEEE80211_IOC_PRIVACY</code> and
<code class="Dv">IEEE80211_IOC_UNENCRYPTED</code> instead.</dd>
<dt id="IEEE80211_IOC_WEPKEY"><a class="permalink" href="#IEEE80211_IOC_WEPKEY"><code class="Dv">IEEE80211_IOC_WEPKEY</code></a></dt>
<dd>Return the requested WEP key via <var class="Va">i_data</var>. The key
number is specified in <var class="Va">i_val</var> and may be 0-3. If the
device does not support returning the WEP key or the user is not root then
the key may be returned as all zeros. This request is deprecated in favor
of <code class="Dv">IEEE80211_IOC_WPAKEY</code>.</dd>
<dt id="IEEE80211_IOC_WEPTXKEY"><a class="permalink" href="#IEEE80211_IOC_WEPTXKEY"><code class="Dv">IEEE80211_IOC_WEPTXKEY</code></a></dt>
<dd>Return the number of the WEP key used for transmission in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_WME"><a class="permalink" href="#IEEE80211_IOC_WME"><code class="Dv">IEEE80211_IOC_WME</code></a></dt>
<dd>Return whether 802.11e/WME/WMM support is enabled in
<var class="Va">i_val</var>. This value will be non-zero when support is
enabled and otherwise zero.</dd>
<dt id="IEEE80211_IOC_WME_CWMIN"><a class="permalink" href="#IEEE80211_IOC_WME_CWMIN"><code class="Dv">IEEE80211_IOC_WME_CWMIN</code></a></dt>
<dd>Return the WME CWmin setting (log2) for the specified Access Class (AC) in
<var class="Va">i_val</var>. The AC is passed in through
<var class="Va">i_len</var> together with an optional
IEEE80211_WMEPARAM_BSS flag to indicate if the parameter for the BSS or
the channel is desired. If WME is not supported then
<code class="Er">EINVAL</code> will be returned.</dd>
<dt id="IEEE80211_IOC_WME_CWMAX"><a class="permalink" href="#IEEE80211_IOC_WME_CWMAX"><code class="Dv">IEEE80211_IOC_WME_CWMAX</code></a></dt>
<dd>Return the WME CWmax setting (log2) for the specified Access Class (AC) in
<var class="Va">i_val</var>. See
<code class="Dv">IEEE80211_IOC_WME_CWMIN</code> above for more
details.</dd>
<dt id="IEEE80211_IOC_WME_AIFS"><a class="permalink" href="#IEEE80211_IOC_WME_AIFS"><code class="Dv">IEEE80211_IOC_WME_AIFS</code></a></dt>
<dd>Return the WME AIFS setting for the specified Access Class (AC) in
<var class="Va">i_val</var>. See
<code class="Dv">IEEE80211_IOC_WME_CWMIN</code> above for more
details.</dd>
<dt id="IEEE80211_IOC_WME_TXOPLIMIT"><a class="permalink" href="#IEEE80211_IOC_WME_TXOPLIMIT"><code class="Dv">IEEE80211_IOC_WME_TXOPLIMIT</code></a></dt>
<dd>Return the WME TxOpLimit (msec) for the specified Access Class (AC) in
<var class="Va">i_val</var>. See
<code class="Dv">IEEE80211_IOC_WME_CWMIN</code> above for more
details.</dd>
<dt id="IEEE80211_IOC_WME_ACM"><a class="permalink" href="#IEEE80211_IOC_WME_ACM"><code class="Dv">IEEE80211_IOC_WME_ACM</code></a></dt>
<dd>Return the WME Admission Control Mechanism (ACM) setting for the specified
Access Class (AC) in <var class="Va">i_val</var>. This value is meaningful
only for the BSS (not channel). See
<code class="Dv">IEEE80211_IOC_WME_CWMIN</code> above for more
details.</dd>
<dt id="IEEE80211_IOC_WME_ACKPOLICY"><a class="permalink" href="#IEEE80211_IOC_WME_ACKPOLICY"><code class="Dv">IEEE80211_IOC_WME_ACKPOLICY</code></a></dt>
<dd>Return the WME ACK Policy setting for the specified Access Class (AC) in
<var class="Va">i_val</var>. When this value is zero frames will be
transmitted without waiting for an Acknowledgement. This value is
meaningful only for the channel (not BSS). See
<code class="Dv">IEEE80211_IOC_WME_CWMIN</code> above for more
details.</dd>
<dt id="IEEE80211_IOC_WPA"><a class="permalink" href="#IEEE80211_IOC_WPA"><code class="Dv">IEEE80211_IOC_WPA</code></a></dt>
<dd>Return the WPA configuration in <var class="Va">i_val</var>. Valid values
are 0 (WPA is not enabled), 1 (WPA1 is enabled), 2 (WPA2/802.11i is
enabled), and 3 (WPA1 and WPA2/802.11i are both enabled).</dd>
<dt id="IEEE80211_IOC_WPAIE"><a class="permalink" href="#IEEE80211_IOC_WPAIE"><code class="Dv">IEEE80211_IOC_WPAIE</code></a></dt>
<dd>Return any WPA information element for an associated station via
<var class="Va">i_data</var>. The request passed in through
<var class="Va">i_data</var> identifies the MAC address of the desired
station. If an RSN (802.11i) element is present it is returned; otherwise
any WPA element is returned. Note this request is deprecated; use
<code class="Dv">IEEE80211_IOC_WPAIE2</code> instead.</dd>
<dt id="IEEE80211_IOC_WPAIE2"><a class="permalink" href="#IEEE80211_IOC_WPAIE2"><code class="Dv">IEEE80211_IOC_WPAIE2</code></a></dt>
<dd>Return any WPA information elements for an associated station via
<var class="Va">i_data</var>. The request passed in through
<var class="Va">i_data</var> identifies the MAC address of the desired
station. One or both of RSN (802.11i) and WPA elements may be
returned.</dd>
<dt id="IEEE80211_IOC_WPAKEY"><a class="permalink" href="#IEEE80211_IOC_WPAKEY"><code class="Dv">IEEE80211_IOC_WPAKEY</code></a></dt>
<dd>Return the requested cryptographic key in the buffer pointed to by
<var class="Va">i_data</var>. The key number is specified in
<var class="Va">i_val</var> and may be 0-3. A key number of zero is used
to retrieve a station's unicast cipher key when operating with WPA
enabled. If the user is not root then the key data returned is all
zeros.</dd>
<dt id="IEEE80211_IOC_WPS"><a class="permalink" href="#IEEE80211_IOC_WPS"><code class="Dv">IEEE80211_IOC_WPS</code></a></dt>
<dd>Return whether or not Wi-FI Protected Setup (WPS) is enabled in
<var class="Va">i_val</var>.</dd>
</dl>
<p class="Pp">For <code class="Dv">SIOCS80211</code> the following values of
<var class="Va">i_type</var> are valid. Note that changing a value on an
interface that is running may cause the interface to be
‘reset’. Resets may be handled without altering the state if
the parameter does not affect the MLME state (e.g. RTS threshold), but in
some cases the interface may need to scan for a new network or clear state
(including any associated stations); in that case the interface is said to
be ‘restarted’ (it is equivalent to marking the interface down
and back up). The information below identifies whether changing a value
affects the state of a running interface.</p>
<dl class="Bl-tag">
<dt id="IEEE80211_IOC_ADDMAC"><a class="permalink" href="#IEEE80211_IOC_ADDMAC"><code class="Dv">IEEE80211_IOC_ADDMAC</code></a></dt>
<dd>Add an entry to the MAC address Access Control List (ACL) database using
the value pointed to by <var class="Va">i_data</var>. The
<a class="Xr">wlan_acl(4)</a> module must be installed and enabled or
<code class="Er">EINVAL</code> will be returned.</dd>
<dt id="IEEE80211_IOC_AMPDU~2"><a class="permalink" href="#IEEE80211_IOC_AMPDU~2"><code class="Dv">IEEE80211_IOC_AMPDU</code></a></dt>
<dd>Set whether or not AMPDU is enabled for transmit and/or receive using the
value in <var class="Va">i_val</var>. This request causes a running
interface operating on an HT channel to be reset. See
<code class="Dv">IEEE80211_IOC_AMPDU</code> above for details.</dd>
<dt id="IEEE80211_IOC_AMPDU_DENSITY~2"><a class="permalink" href="#IEEE80211_IOC_AMPDU_DENSITY~2"><code class="Dv">IEEE80211_IOC_AMPDU_DENSITY</code></a></dt>
<dd>Set the minimum density for bursting AMPDU frames to the value in
<var class="Va">i_val</var>. This request causes a running interface to be
reset. See <code class="Dv">IEEE80211_IOC_AMPDU_DENSITY</code> above for
details.</dd>
<dt id="IEEE80211_IOC_AMPDU_LIMIT~2"><a class="permalink" href="#IEEE80211_IOC_AMPDU_LIMIT~2"><code class="Dv">IEEE80211_IOC_AMPDU_LIMIT</code></a></dt>
<dd>Set the limit on the size of AMPDU frames to the value in
<var class="Va">i_val</var>. This request causes a running interface to be
reset. See <code class="Dv">IEEE80211_IOC_AMPDU_LIMIT</code> above for
details.</dd>
<dt id="IEEE80211_IOC_AMSDU~2"><a class="permalink" href="#IEEE80211_IOC_AMSDU~2"><code class="Dv">IEEE80211_IOC_AMSDU</code></a></dt>
<dd>Set whether or not AMSDU is enabled for transmit and/or receive using the
value in <var class="Va">i_val</var>. This request causes a running
interface operating on an HT channel to be reset. See
<code class="Dv">IEEE80211_IOC_AMSDU</code> above for details.</dd>
<dt id="IEEE80211_IOC_AMSDU_LIMIT~2"><a class="permalink" href="#IEEE80211_IOC_AMSDU_LIMIT~2"><code class="Dv">IEEE80211_IOC_AMSDU_LIMIT</code></a></dt>
<dd>Set the limit on the size of AMSDU frames to the value in
<var class="Va">i_val</var>. This request causes a running interface to be
reset. See <code class="Dv">IEEE80211_IOC_AMSDU_LIMIT</code> above for
details.</dd>
<dt id="IEEE80211_IOC_APBRIDGE~2"><a class="permalink" href="#IEEE80211_IOC_APBRIDGE~2"><code class="Dv">IEEE80211_IOC_APBRIDGE</code></a></dt>
<dd>Set whether AP bridging is enabled using the value in
<var class="Va">i_val</var>. See
<code class="Dv">IEEE80211_IOC_APBRIDGE</code> above for details.</dd>
<dt id="IEEE80211_IOC_APPIE~2"><a class="permalink" href="#IEEE80211_IOC_APPIE~2"><code class="Dv">IEEE80211_IOC_APPIE</code></a></dt>
<dd>Set an application information element using the data pointed to by
<var class="Va">i_data</var>. This request causes a running interface to
be restarted if the WPA information element is changed. See
<code class="Dv">IEEE80211_IOC_APPIE</code> above for details.</dd>
<dt id="IEEE80211_IOC_AUTHMODE~2"><a class="permalink" href="#IEEE80211_IOC_AUTHMODE~2"><code class="Dv">IEEE80211_IOC_AUTHMODE</code></a></dt>
<dd>Set the current authentication mode using the value in
<var class="Va">i_val</var>. This request causes a running interface to be
restarted. See <code class="Dv">IEEE80211_IOC_AUTHMODE</code> above for
details. This request causes a running interface to be restarted.</dd>
<dt id="IEEE80211_IOC_BEACON_INTERVAL~2"><a class="permalink" href="#IEEE80211_IOC_BEACON_INTERVAL~2"><code class="Dv">IEEE80211_IOC_BEACON_INTERVAL</code></a></dt>
<dd>Set the time between Beacon frames (in TU) to the value in
<var class="Va">i_val</var>. This request causes a running interface to be
restarted.</dd>
<dt id="IEEE80211_IOC_BGSCAN~2"><a class="permalink" href="#IEEE80211_IOC_BGSCAN~2"><code class="Dv">IEEE80211_IOC_BGSCAN</code></a></dt>
<dd>Set whether background scanning is enabled using the value in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_BGSCAN_IDLE~2"><a class="permalink" href="#IEEE80211_IOC_BGSCAN_IDLE~2"><code class="Dv">IEEE80211_IOC_BGSCAN_IDLE</code></a></dt>
<dd>Set the minimum time (in msecs) a station must be idle before it will do a
background scan to the value in <var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_BGSCAN_INTERVAL~2"><a class="permalink" href="#IEEE80211_IOC_BGSCAN_INTERVAL~2"><code class="Dv">IEEE80211_IOC_BGSCAN_INTERVAL</code></a></dt>
<dd>Set the minimum time (seconds) between background scan operations to the
value in <var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_BMISSTHRESHOLD~2"><a class="permalink" href="#IEEE80211_IOC_BMISSTHRESHOLD~2"><code class="Dv">IEEE80211_IOC_BMISSTHRESHOLD</code></a></dt>
<dd>Set the number of consecutive missed Beacon frames before the system will
attempt to roam to the value in <var class="Va">i_val</var>. This request
causes a running interface to be reset.</dd>
<dt id="IEEE80211_IOC_BSSID~2"><a class="permalink" href="#IEEE80211_IOC_BSSID~2"><code class="Dv">IEEE80211_IOC_BSSID</code></a></dt>
<dd>Set the 802.11 MAC address for the desired BSS identifier according to
<var class="Va">i_data</var>. This request causes a running interface to
be restarted.</dd>
<dt id="IEEE80211_IOC_BURST~2"><a class="permalink" href="#IEEE80211_IOC_BURST~2"><code class="Dv">IEEE80211_IOC_BURST</code></a></dt>
<dd>Set whether or not packet bursting is enabled using the value in
<var class="Va">i_val</var>. This request causes a running interface to be
reset.</dd>
<dt id="IEEE80211_IOC_CHANNEL~2"><a class="permalink" href="#IEEE80211_IOC_CHANNEL~2"><code class="Dv">IEEE80211_IOC_CHANNEL</code></a></dt>
<dd>Set the desired/current channel to the value given by
<var class="Va">i_val</var>. This request causes a running interface to
immediately change to the specified channel if possible; otherwise the
interface will be restarted. Note this request is deprecated; use
<code class="Dv">IEEE80211_IOC_CURCHAN</code> instead.</dd>
<dt id="IEEE80211_IOC_CHANLIST~2"><a class="permalink" href="#IEEE80211_IOC_CHANLIST~2"><code class="Dv">IEEE80211_IOC_CHANLIST</code></a></dt>
<dd>Set the list of available channels using the channel list pointed to by
<var class="Va">i_data</var>. The channel list is a bit vector with bit N
set to 1 if IEEE channel number N is available for use. The specified
channel list is checked against the set of supported channels and any
channels not supported are silently ignored. If the intersection of the
channel list and the supported channels is empty
<code class="Er">EINVAL</code> is returned. Note the current channel may
be marked invalid after installing a new channel list. This request causes
a running interface to be restarted.</dd>
<dt id="IEEE80211_IOC_COUNTERMEASURES~2"><a class="permalink" href="#IEEE80211_IOC_COUNTERMEASURES~2"><code class="Dv">IEEE80211_IOC_COUNTERMEASURES</code></a></dt>
<dd>Set whether TKIP Countermeasures are enabled using the value in
<var class="Va">i_val</var>. This request can only be used when the
authentication mode is set WPA; otherwise
<code class="Er">EOPNOTSUPP</code> will be returned.</dd>
<dt id="IEEE80211_IOC_CURCHAN~2"><a class="permalink" href="#IEEE80211_IOC_CURCHAN~2"><code class="Dv">IEEE80211_IOC_CURCHAN</code></a></dt>
<dd>Set the current channel using the information referenced by
<var class="Va">i_data</var>. This request causes a running interface to
immediately change to the specified channel if possible; otherwise the
interface will be restarted.</dd>
<dt id="IEEE80211_IOC_DELKEY"><a class="permalink" href="#IEEE80211_IOC_DELKEY"><code class="Dv">IEEE80211_IOC_DELKEY</code></a></dt>
<dd>Delete the key specified by the information referenced by
<var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_DELMAC"><a class="permalink" href="#IEEE80211_IOC_DELMAC"><code class="Dv">IEEE80211_IOC_DELMAC</code></a></dt>
<dd>Remove an entry in the MAC address Access Control List (ACL) database
using the value pointed to by <var class="Va">i_data</var>. The
<a class="Xr">wlan_acl(4)</a> module must be installed and enabled or
<code class="Er">EINVAL</code> will be returned.</dd>
<dt id="IEEE80211_IOC_DFS~2"><a class="permalink" href="#IEEE80211_IOC_DFS~2"><code class="Dv">IEEE80211_IOC_DFS</code></a></dt>
<dd>Set whether or not Dynamic Frequency Selection (DFS) is enabled using the
value in <var class="Va">i_val</var>. This request will fail with
<code class="Er">EINVAL</code> if 802.11h support is not enabled. See
<code class="Dv">IEEE80211_IOC_DFS</code> above for details.</dd>
<dt id="IEEE80211_IOC_DOTD~2"><a class="permalink" href="#IEEE80211_IOC_DOTD~2"><code class="Dv">IEEE80211_IOC_DOTD</code></a></dt>
<dd>Set whether or not 802.11d support is enabled using the value in
<var class="Va">i_val</var>. This request causes a running interface to be
restarted. See <code class="Dv">IEEE80211_IOC_DOTD</code> above for
details.</dd>
<dt id="IEEE80211_IOC_DOTH~2"><a class="permalink" href="#IEEE80211_IOC_DOTH~2"><code class="Dv">IEEE80211_IOC_DOTH</code></a></dt>
<dd>Return whether 802.11h support is enabled using the value in
<var class="Va">i_val</var>. See
<code class="Dv">IEEE80211_IOC_DOTH</code> above for details.</dd>
<dt id="IEEE80211_IOC_DROPUNENCRYPTED~2"><a class="permalink" href="#IEEE80211_IOC_DROPUNENCRYPTED~2"><code class="Dv">IEEE80211_IOC_DROPUNENCRYPTED</code></a></dt>
<dd>Set whether unencrypted packets transmit/received should be discarded
using the value in <var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_DTIM_PERIOD~2"><a class="permalink" href="#IEEE80211_IOC_DTIM_PERIOD~2"><code class="Dv">IEEE80211_IOC_DTIM_PERIOD</code></a></dt>
<dd>Set the period (in beacon intervals) between DTIM events to the value in
<var class="Va">i_val</var>. This request causes a running interface to be
restarted.</dd>
<dt id="IEEE80211_IOC_DWDS~2"><a class="permalink" href="#IEEE80211_IOC_DWDS~2"><code class="Dv">IEEE80211_IOC_DWDS</code></a></dt>
<dd>Set whether or not Dynamic WDS support is enabled using the value in
<var class="Va">i_val</var>. See
<code class="Dv">IEEE80211_IOC_DWDS</code> above for details.</dd>
<dt id="IEEE80211_IOC_FF~2"><a class="permalink" href="#IEEE80211_IOC_FF~2"><code class="Dv">IEEE80211_IOC_FF</code></a></dt>
<dd>Set whether Atheros fast-frames support is enabled using the value in
<var class="Va">i_val</var>. This request causes a running interface to be
restarted. See <code class="Dv">IEEE80211_IOC_FF</code> above for
details.</dd>
<dt id="IEEE80211_IOC_FRAGTHRESHOLD~2"><a class="permalink" href="#IEEE80211_IOC_FRAGTHRESHOLD~2"><code class="Dv">IEEE80211_IOC_FRAGTHRESHOLD</code></a></dt>
<dd>Set the threshold (in bytes) for enabling fragmentation frames using the
value in <var class="Va">i_val</var>. This request causes a running
interface to be reset. See
<code class="Dv">IEEE80211_IOC_FRAGTHRESHOLD</code> above for
details.</dd>
<dt id="IEEE80211_IOC_GREENFIELD~2"><a class="permalink" href="#IEEE80211_IOC_GREENFIELD~2"><code class="Dv">IEEE80211_IOC_GREENFIELD</code></a></dt>
<dd>Set whether or not Greenfield preamble use is enabled using the value in
<var class="Va">i_val</var>. This request causes a running interface to be
reset. See <code class="Dv">IEEE80211_IOC_GREENFIELD</code> above for
details.</dd>
<dt id="IEEE80211_IOC_HIDESSID~2"><a class="permalink" href="#IEEE80211_IOC_HIDESSID~2"><code class="Dv">IEEE80211_IOC_HIDESSID</code></a></dt>
<dd>Set whether SSID hiding/cloaking is enabled using the value in
<var class="Va">i_val</var>. This request causes a running interface to be
reset. See <code class="Dv">IEEE80211_IOC_HIDESSID</code> above for
details.</dd>
<dt id="IEEE80211_IOC_HTCOMPAT~2"><a class="permalink" href="#IEEE80211_IOC_HTCOMPAT~2"><code class="Dv">IEEE80211_IOC_HTCOMPAT</code></a></dt>
<dd>Set whether or not 802.11n compatibility support is enabled using the
value in <var class="Va">i_val</var>. This request causes a running
interface to be reset if operating on HT channel. See
<code class="Dv">IEEE80211_IOC_HTCOMPAT</code> above for details.</dd>
<dt id="IEEE80211_IOC_HTCONF~2"><a class="permalink" href="#IEEE80211_IOC_HTCONF~2"><code class="Dv">IEEE80211_IOC_HTCONF</code></a></dt>
<dd>Set automatic promotion of HT channels using the value in
<var class="Va">i_val</var>. This request causes a running interface to be
restarted. See <code class="Dv">IEEE80211_IOC_HTCONF</code> above for
details.</dd>
<dt id="IEEE80211_IOC_HTPROTMODE~2"><a class="permalink" href="#IEEE80211_IOC_HTPROTMODE~2"><code class="Dv">IEEE80211_IOC_HTPROTMODE</code></a></dt>
<dd>Set the technique used to protect HT frames in a mixed 802.11n network
using the value in <var class="Va">i_val</var>. This request causes a
running interface to be reset. See
<code class="Dv">IEEE80211_IOC_HTPROTMODE</code> above for details.</dd>
<dt id="IEEE80211_IOC_HWMP_MAXHOPS~2"><a class="permalink" href="#IEEE80211_IOC_HWMP_MAXHOPS~2"><code class="Dv">IEEE80211_IOC_HWMP_MAXHOPS</code></a></dt>
<dd>Set the maximum acceptable hop count in an HWMP path according to
<var class="Va">i_val</var>. Values must be in the range [0-255].</dd>
<dt id="IEEE80211_IOC_HWMP_ROOTMODE~2"><a class="permalink" href="#IEEE80211_IOC_HWMP_ROOTMODE~2"><code class="Dv">IEEE80211_IOC_HWMP_ROOTMODE</code></a></dt>
<dd>Set the Mesh root mode operation according to <var class="Va">i_val</var>.
Valid values are <code class="Dv">IEEE80211_HWMP_ROOTMODE_DISABLED</code>
(root mode is disabled),
<code class="Dv">IEEE80211_HWMP_ROOTMODE_NORMAL</code> (send broadcast
Path Request frames),
<code class="Dv">IEEE80211_HWMP_ROOTMODE_PROACTIVE</code> (send broadcast
Path Request frames and force replies) and
<code class="Dv">IEEE80211_HWMP_ROOTMODE_RANN</code> (send broadcast Root
Announcement (RANN) frames).</dd>
<dt id="IEEE80211_IOC_INACTIVITY~2"><a class="permalink" href="#IEEE80211_IOC_INACTIVITY~2"><code class="Dv">IEEE80211_IOC_INACTIVITY</code></a></dt>
<dd>Set whether or not the system handles inactivity processing using the
value in <var class="Va">i_val</var>. When inactivity processing is
enabled the system will track stations that have not transmitted frames
and periodically probe them to check if they are still present. Stations
that are inactive and do not respond to probes are dropped.</dd>
<dt id="IEEE80211_IOC_MACCMD~2"><a class="permalink" href="#IEEE80211_IOC_MACCMD~2"><code class="Dv">IEEE80211_IOC_MACCMD</code></a></dt>
<dd>Change the state of the MAC address Access Control List (ACL) system.
There are several requests supported:
<code class="Dv">IEEE80211_MACCMD_POLICY_OPEN</code> (set the current
policy to disable ACL use),
<code class="Dv">IEEE80211_MACCMD_POLICY_ALLOW</code> (set the current
policy to allow only addresses listed in the database),
<code class="Dv">IEEE80211_MACCMD_POLICY_DENY</code> (set the current
policy to deny addresses listed in the database),
<code class="Dv">IEEE80211_MACCMD_POLICY_RADUS</code> (set the current
policy to enable use of a RADIUS backend),
<code class="Dv">IEEE80211_MACCMD_FLUSH</code> (flush all addresses from
the database), and <code class="Dv">IEEE80211_MACCMD_DETACH</code> (detach
the ACL subsystem, disabling it). The <a class="Xr">wlan_acl(4)</a> module
must be installed or <code class="Er">EINVAL</code> will be returned.</dd>
<dt id="IEEE80211_IOC_MESH_AP~2"><a class="permalink" href="#IEEE80211_IOC_MESH_AP~2"><code class="Dv">IEEE80211_IOC_MESH_AP</code></a></dt>
<dd>Set whether or not Mesh AP support is enabled using
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_MESH_FWRD~2"><a class="permalink" href="#IEEE80211_IOC_MESH_FWRD~2"><code class="Dv">IEEE80211_IOC_MESH_FWRD</code></a></dt>
<dd>Set whether or not packet forwarding support is enabled using
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_MESH_ID~2"><a class="permalink" href="#IEEE80211_IOC_MESH_ID~2"><code class="Dv">IEEE80211_IOC_MESH_ID</code></a></dt>
<dd>Set the Mesh ID using the value pointed to by
<var class="Va">i_data</var>. A Mesh ID can be up to
<code class="Dv">IEEE80211_MESHID_LEN</code> bytes long.</dd>
<dt id="IEEE80211_IOC_MESH_PP_METRIC~2"><a class="permalink" href="#IEEE80211_IOC_MESH_PP_METRIC~2"><code class="Dv">IEEE80211_IOC_MESH_PP_METRIC</code></a></dt>
<dd>Set the link metric protocol using the value pointed to by
<var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_MESH_PP_PATH~2"><a class="permalink" href="#IEEE80211_IOC_MESH_PP_PATH~2"><code class="Dv">IEEE80211_IOC_MESH_PP_PATH</code></a></dt>
<dd>Set the path selection protocol using the value pointed to by
<var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_MESH_RTCMD~2"><a class="permalink" href="#IEEE80211_IOC_MESH_RTCMD~2"><code class="Dv">IEEE80211_IOC_MESH_RTCMD</code></a></dt>
<dd>Manipulate the state of the Mesh routing tables. Several requests are
supported: <code class="Dv">IEEE80211_MESH_RTCMD_FLUSH</code> (flush the
contents of the routing table),
<code class="Dv">IEEE80211_MESH_RTCMD_ADD</code> (add an entry for the MAC
address specified in <var class="Va">i_data</var> and start the Peer
discovery process), and
<code class="Dv">IEEE80211_MESH_RTCMD_DELETE</code> (delete the entry
corresponding to the MAC address specified in <var class="Va">i_data
).</var></dd>
<dt id="IEEE80211_IOC_MESH_TTL~2"><a class="permalink" href="#IEEE80211_IOC_MESH_TTL~2"><code class="Dv">IEEE80211_IOC_MESH_TTL</code></a></dt>
<dd>Set the Mesh Time To Live (TTL) setting installed in packets transmitted
by this mesh node using <var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_MLME"><a class="permalink" href="#IEEE80211_IOC_MLME"><code class="Dv">IEEE80211_IOC_MLME</code></a></dt>
<dd>Explicitly control the MLME state machine for a station using the MLME
request pointed to by <var class="Va">i_data</var>. There are several MLME
operations supported: <code class="Dv">IEEE80211_MLME_ASSOC</code>
(request association to an access point),
<code class="Dv">IEEE80211_MLME_DIASSOC</code> (diassociate the specified
station), <code class="Dv">IEEE80211_MLME_DEAUTH</code> (deauthenticate
the specified station), <code class="Dv">IEEE80211_MLME_AUHORIZE</code>
(mark the specified station authorized to pass data frames),
<code class="Dv">IEEE80211_MLME_UNAUTHORIZE</code> (revoke the specified
station's ability to pass data frames), and
<code class="Dv">IEEE80211_MLME_AUTH</code> (request authentication to an
access point). Note when this facility is used for stations operating in
infrastructure mode the roaming mode should be set to manual.</dd>
<dt id="IEEE80211_IOC_POWERSAVE~2"><a class="permalink" href="#IEEE80211_IOC_POWERSAVE~2"><code class="Dv">IEEE80211_IOC_POWERSAVE</code></a></dt>
<dd>Set the current powersaving mode to the value in
<var class="Va">i_val</var>. See
<code class="Dv">IEEE80211_IOC_POWERSAVE</code> above for valid values.
This request causes a running interface to be reset.</dd>
<dt id="IEEE80211_IOC_POWERSAVESLEEP~2"><a class="permalink" href="#IEEE80211_IOC_POWERSAVESLEEP~2"><code class="Dv">IEEE80211_IOC_POWERSAVESLEEP</code></a></dt>
<dd>Set the powersave sleep time in TU to the value in
<var class="Va">i_val</var>. This request causes a running interface to be
reset.</dd>
<dt id="IEEE80211_IOC_PRIVACY~2"><a class="permalink" href="#IEEE80211_IOC_PRIVACY~2"><code class="Dv">IEEE80211_IOC_PRIVACY</code></a></dt>
<dd>Set the current MLME setting for PRIVACY using the value in
<var class="Va">i_val</var>. See
<code class="Dv">IEEE80211_IOC_PRIVACY</code> above for details.</dd>
<dt id="IEEE80211_IOC_PROTMODE~2"><a class="permalink" href="#IEEE80211_IOC_PROTMODE~2"><code class="Dv">IEEE80211_IOC_PROTMODE</code></a></dt>
<dd>Set the current 802.11g protection mode to the value in
<var class="Va">i_val</var>. This request causes a running interface to be
reset. See <code class="Dv">IEEE80211_IOC_PROTMODE</code> above for
details. This request causes a running interface to be reset.</dd>
<dt id="IEEE80211_IOC_PUREG~2"><a class="permalink" href="#IEEE80211_IOC_PUREG~2"><code class="Dv">IEEE80211_IOC_PUREG</code></a></dt>
<dd>Set whether ``pure 11g'' mode is enabled using the value in
<var class="Va">i_val</var>. This request causes a running interface to be
restarted. See <code class="Dv">IEEE80211_IOC_PUREG</code> above for
details.</dd>
<dt id="IEEE80211_IOC_PUREN~2"><a class="permalink" href="#IEEE80211_IOC_PUREN~2"><code class="Dv">IEEE80211_IOC_PUREN</code></a></dt>
<dd>Set whether ``pure 11n'' mode is enabled using the value in
<var class="Va">i_val</var>. This request causes a running interface to be
restarted. See <code class="Dv">IEEE80211_IOC_PUREN</code> above for
details.</dd>
<dt id="IEEE80211_IOC_REGDOMAIN~2"><a class="permalink" href="#IEEE80211_IOC_REGDOMAIN~2"><code class="Dv">IEEE80211_IOC_REGDOMAIN</code></a></dt>
<dd>Set the regulatory state using the data referenced by
<var class="Va">i_data</var>. This request can only be issued when all
interfaces cloned from the underlying physical device are marked down;
otherwise <code class="Er">EBUSY</code> is returned. Note the new
regulatory data may invalidate any desired channel.</dd>
<dt id="IEEE80211_IOC_RIFS~2"><a class="permalink" href="#IEEE80211_IOC_RIFS~2"><code class="Dv">IEEE80211_IOC_RIFS</code></a></dt>
<dd>Set whether or not Reduced InterFrame Spacing (RIFS) is enabled using the
value in <var class="Va">i_val</var>. This setting is meaningful only when
operating with 802.11n on an HT channel. This request causes a running
interface to be reset.</dd>
<dt id="IEEE80211_IOC_ROAM~2"><a class="permalink" href="#IEEE80211_IOC_ROAM~2"><code class="Dv">IEEE80211_IOC_ROAM</code></a></dt>
<dd>Set station roaming parameters using the data pointed to by
<var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_ROAMING~2"><a class="permalink" href="#IEEE80211_IOC_ROAMING~2"><code class="Dv">IEEE80211_IOC_ROAMING</code></a></dt>
<dd>Set the current roaming mode to the value in <var class="Va">i_val</var>.
See <code class="Dv">IEEE80211_IOC_ROAMING</code> above for details.</dd>
<dt id="IEEE80211_IOC_RTSTHRESHOLD~2"><a class="permalink" href="#IEEE80211_IOC_RTSTHRESHOLD~2"><code class="Dv">IEEE80211_IOC_RTSTHRESHOLD</code></a></dt>
<dd>Set the threshold (in bytes) for enabling transmission of RTS frames to
the value in <var class="Va">i_val</var>. This request causes a running
interface to be reset. See
<code class="Dv">IEEE80211_IOC_RTSTHRESHOLD</code> above for details.</dd>
<dt id="IEEE80211_IOC_SCANVALID~2"><a class="permalink" href="#IEEE80211_IOC_SCANVALID~2"><code class="Dv">IEEE80211_IOC_SCANVALID</code></a></dt>
<dd>Set the age (in seconds) that results from a scan operation will be
considered valid. When scan results are no longer valid and they are
needed (e.g. to roam) the system will initiate a scan operation to
replenish the scan cache.</dd>
<dt id="IEEE80211_IOC_SCAN_REQ"><a class="permalink" href="#IEEE80211_IOC_SCAN_REQ"><code class="Dv">IEEE80211_IOC_SCAN_REQ</code></a></dt>
<dd>Request a scan operation using the parameters pointed to by
<var class="Va">i_val</var>. The underlying device must be running or
<code class="Er">ENXIO</code> will be returned. Values for
<var class="Va">sr_duration</var>, <var class="Va">sr_mindwell</var>, and
<var class="Va">sr_maxdwell</var> shorter than 1 clock tick are rounded up
to a tick. If more SSID's are supplied than the system is capable of
handling the extra ones are silently ignored. If a scan operation is
already in progress the request will be (silently) ignored.</dd>
<dt id="IEEE80211_IOC_SCAN_CANCEL"><a class="permalink" href="#IEEE80211_IOC_SCAN_CANCEL"><code class="Dv">IEEE80211_IOC_SCAN_CANCEL</code></a></dt>
<dd>Cancel any pending/active scan operation.</dd>
<dt id="IEEE80211_IOC_SHORTGI~2"><a class="permalink" href="#IEEE80211_IOC_SHORTGI~2"><code class="Dv">IEEE80211_IOC_SHORTGI</code></a></dt>
<dd>Set whether or not Short Guard Interval (SGI) is enabled using the value
in <var class="Va">i_val</var>. Note SGI is only used when operating on an
HT (802.11n) channel. This request causes a running interface to be
reset.</dd>
<dt id="IEEE80211_IOC_SMPS~2"><a class="permalink" href="#IEEE80211_IOC_SMPS~2"><code class="Dv">IEEE80211_IOC_SMPS</code></a></dt>
<dd>Set the Spatial Multiplexing Power Save (SMPS) setting to the value in
<var class="Va">i_val</var>. This request causes a running interface to be
reset. See <code class="Dv">IEEE80211_IOC_SMPS</code> above for
details.</dd>
<dt id="IEEE80211_IOC_SSID~2"><a class="permalink" href="#IEEE80211_IOC_SSID~2"><code class="Dv">IEEE80211_IOC_SSID</code></a></dt>
<dd>Set the desired SSID using the value pointed to by
<var class="Va">i_data</var>. The string may be at most IEEE80211_NWID_LEN
bytes. This request causes a running interface to be restarted.</dd>
<dt id="IEEE80211_IOC_STA_STATS~2"><a class="permalink" href="#IEEE80211_IOC_STA_STATS~2"><code class="Dv">IEEE80211_IOC_STA_STATS</code></a></dt>
<dd>Clear accumulated statistics for the specified station.</dd>
<dt id="IEEE80211_IOC_STA_VLAN~2"><a class="permalink" href="#IEEE80211_IOC_STA_VLAN~2"><code class="Dv">IEEE80211_IOC_STA_VLAN</code></a></dt>
<dd>Set the VLAN tag for the specified station using the information pointed
to by <var class="Va">i_data</var>.</dd>
<dt id="IEEE80211_IOC_TDMA_BINTERVAL~2"><a class="permalink" href="#IEEE80211_IOC_TDMA_BINTERVAL~2"><code class="Dv">IEEE80211_IOC_TDMA_BINTERVAL</code></a></dt>
<dd>Set the interval between Beacon frames to the value in
<var class="Va">i_val</var>. Values must be positive. This request causes
a running interface to be reset.</dd>
<dt id="IEEE80211_IOC_TDMA_SLOT~2"><a class="permalink" href="#IEEE80211_IOC_TDMA_SLOT~2"><code class="Dv">IEEE80211_IOC_TDMA_SLOT</code></a></dt>
<dd>Set the current TDMA slot to the value in <var class="Va">i_val</var>.
Values must be in the range [0-slotcnt]. Slot 0 identifies the master in
the TDMA network; if it running it will immediately start sending Beacon
frames.</dd>
<dt id="IEEE80211_IOC_TDMA_SLOTCNT~2"><a class="permalink" href="#IEEE80211_IOC_TDMA_SLOTCNT~2"><code class="Dv">IEEE80211_IOC_TDMA_SLOTCNT</code></a></dt>
<dd>Set the number of slots in the TDMA network to the value in
<var class="Va">i_val</var>. This request causes a running interface to be
reset.</dd>
<dt id="IEEE80211_IOC_TDMA_SLOTLEN~2"><a class="permalink" href="#IEEE80211_IOC_TDMA_SLOTLEN~2"><code class="Dv">IEEE80211_IOC_TDMA_SLOTLEN</code></a></dt>
<dd>Set the length of the TDMA slot assigned to each station in the network to
the value in <var class="Va">i_val</var>. Slot lengths must be in the
range 200 usecs to 1024 milliseconds (though values outside the range
1-200ms are unlikely to work well). This request causes a running
interface to be reset.</dd>
<dt id="IEEE80211_IOC_TSN~2"><a class="permalink" href="#IEEE80211_IOC_TSN~2"><code class="Dv">IEEE80211_IOC_TSN</code></a></dt>
<dd>Set whether or not Transitional Security Network (TSN) is enabled using
the value in <var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_TURBOP~2"><a class="permalink" href="#IEEE80211_IOC_TURBOP~2"><code class="Dv">IEEE80211_IOC_TURBOP</code></a></dt>
<dd>Set whether Atheros Dynamic Turbo mode is enabled using the value in
<var class="Va">i_val</var>. This request causes a running interface to be
restarted.</dd>
<dt id="IEEE80211_IOC_TXPARAMS~2"><a class="permalink" href="#IEEE80211_IOC_TXPARAMS~2"><code class="Dv">IEEE80211_IOC_TXPARAMS</code></a></dt>
<dd>Set transmit parameters using the data pointed to be
<var class="Va">i_data</var>. This request causes a running interface to
be restarted.</dd>
<dt id="IEEE80211_IOC_TXPOWER~2"><a class="permalink" href="#IEEE80211_IOC_TXPOWER~2"><code class="Dv">IEEE80211_IOC_TXPOWER</code></a></dt>
<dd>Set the maximum transmit power limit in .5 dBm units to the value in
<var class="Va">i_val</var>. This request causes a running interface to be
reset.</dd>
<dt id="IEEE80211_IOC_WEP~2"><a class="permalink" href="#IEEE80211_IOC_WEP~2"><code class="Dv">IEEE80211_IOC_WEP</code></a></dt>
<dd>Set the current WEP mode to the value in <var class="Va">i_val</var>. See
<code class="Dv">IEEE80211_IOC_WEP</code> above for valid values. This
request causes a running interface to be restarted. Note this request is
deprecated; use <code class="Dv">IEEE80211_IOC_PRIVACY</code> and
<code class="Dv">IEEE80211_IOC_DROPUNENCRYPTED</code> instead.</dd>
<dt id="IEEE80211_IOC_WEPKEY~2"><a class="permalink" href="#IEEE80211_IOC_WEPKEY~2"><code class="Dv">IEEE80211_IOC_WEPKEY</code></a></dt>
<dd>Set the WEP key indicated by <var class="Va">i_val</var> using the data
pointed to by <var class="Va">i_data</var>. Note this request is
deprecated; use <code class="Dv">IEEE80211_IOC_WPAKEY</code> instead.</dd>
<dt id="IEEE80211_IOC_WEPTXKEY~2"><a class="permalink" href="#IEEE80211_IOC_WEPTXKEY~2"><code class="Dv">IEEE80211_IOC_WEPTXKEY</code></a></dt>
<dd>Set the default transmit key used for transmission to the value in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_WME~2"><a class="permalink" href="#IEEE80211_IOC_WME~2"><code class="Dv">IEEE80211_IOC_WME</code></a></dt>
<dd>Set whether or not WME/WMM support is enabled using the value in
<var class="Va">i_val</var>. This request causes a running interface to be
reset.</dd>
<dt id="IEEE80211_IOC_WME_ACKPOLICY~2"><a class="permalink" href="#IEEE80211_IOC_WME_ACKPOLICY~2"><code class="Dv">IEEE80211_IOC_WME_ACKPOLICY</code></a></dt>
<dd>Set the WME ACK Policy for the Access Class (AC) specified in
<var class="Va">i_len</var> using the value in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_WME_ACM~2"><a class="permalink" href="#IEEE80211_IOC_WME_ACM~2"><code class="Dv">IEEE80211_IOC_WME_ACM</code></a></dt>
<dd>Set the WME Admission Control Mechanism for the Access Class (AC)
specified in <var class="Va">i_len</var> using the value in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_WME_AIFS~2"><a class="permalink" href="#IEEE80211_IOC_WME_AIFS~2"><code class="Dv">IEEE80211_IOC_WME_AIFS</code></a></dt>
<dd>Set the WME AIFS parameter for the Access Class (AC) specified in
<var class="Va">i_len</var> using the value in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_WME_CWMAX~2"><a class="permalink" href="#IEEE80211_IOC_WME_CWMAX~2"><code class="Dv">IEEE80211_IOC_WME_CWMAX</code></a></dt>
<dd>Set the WME CWmax parameter for the Access Class (AC) specified in
<var class="Va">i_len</var> using the value in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_WME_CWMIN~2"><a class="permalink" href="#IEEE80211_IOC_WME_CWMIN~2"><code class="Dv">IEEE80211_IOC_WME_CWMIN</code></a></dt>
<dd>Set the WME CWmin parameter for the Access Class (AC) specified in
<var class="Va">i_len</var> using the value in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_WME_TXOPLIMIT~2"><a class="permalink" href="#IEEE80211_IOC_WME_TXOPLIMIT~2"><code class="Dv">IEEE80211_IOC_WME_TXOPLIMIT</code></a></dt>
<dd>Set the WME TxOpLimit parameter for the Access Class (AC) specified in
<var class="Va">i_len</var> using the value in
<var class="Va">i_val</var>.</dd>
<dt id="IEEE80211_IOC_WPA~2"><a class="permalink" href="#IEEE80211_IOC_WPA~2"><code class="Dv">IEEE80211_IOC_WPA</code></a></dt>
<dd>Set the WPA configuration using the value in <var class="Va">i_val</var>.
This request causes a running interface to be reset. See
<code class="Dv">IEEE80211_IOC_WPA</code> above for details.</dd>
<dt id="IEEE80211_IOC_WPAKEY~2"><a class="permalink" href="#IEEE80211_IOC_WPAKEY~2"><code class="Dv">IEEE80211_IOC_WPAKEY</code></a></dt>
<dd>Set the requested cryptographic key using data in the buffer pointed to by
<var class="Va">i_data</var>. See
<code class="Dv">IEEE80211_IOC_WPAKEY</code> for details.</dd>
<dt id="IEEE80211_IOC_WPS~2"><a class="permalink" href="#IEEE80211_IOC_WPS~2"><code class="Dv">IEEE80211_IOC_WPS</code></a></dt>
<dd>Set whether or not Wi-FI Protected Setup (WPS) is enabled using the value
in <var class="Va">i_val</var>.</dd>
</dl>
</section>
<section class="Sh">
<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE
ALSO</a></h1>
<p class="Pp"><a class="Xr">ioctl(2)</a>, <a class="Xr">wlan(4)</a>,
<a class="Xr">wlan_acl(4)</a>, <a class="Xr">wlan_xauth(4)</a>,
<a class="Xr">hostapd(8)</a>, <a class="Xr">ifconfig(8)</a>,
<a class="Xr">wpa_supplicant(8)</a></p>
</section>
</div>
<table class="foot">
<tr>
<td class="foot-date">August 7, 2020</td>
<td class="foot-os">FreeBSD 15.0</td>
</tr>
</table>
|