xref: /freebsd/lib/lib80211/lib80211.3 (revision 127be1a706a79c822c89b59e4e662de19652f2d4)
1*127be1a7SAdrian Chadd.\" Copyright (c) 2015 Adrian Chadd.
2*127be1a7SAdrian Chadd.\" All rights reserved.
3*127be1a7SAdrian Chadd.\"
4*127be1a7SAdrian Chadd.\" Redistribution and use in source and binary forms, with or without
5*127be1a7SAdrian Chadd.\" modification, are permitted provided that the following conditions
6*127be1a7SAdrian Chadd.\" are met:
7*127be1a7SAdrian Chadd.\" 1. Redistributions of source code must retain the above copyright
8*127be1a7SAdrian Chadd.\"    notice, this list of conditions and the following disclaimer.
9*127be1a7SAdrian Chadd.\" 2. Redistributions in binary form must reproduce the above copyright
10*127be1a7SAdrian Chadd.\"    notice, this list of conditions and the following disclaimer in the
11*127be1a7SAdrian Chadd.\"    documentation and/or other materials provided with the distribution.
12*127be1a7SAdrian Chadd.\"
13*127be1a7SAdrian Chadd.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14*127be1a7SAdrian Chadd.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15*127be1a7SAdrian Chadd.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16*127be1a7SAdrian Chadd.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17*127be1a7SAdrian Chadd.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18*127be1a7SAdrian Chadd.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19*127be1a7SAdrian Chadd.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20*127be1a7SAdrian Chadd.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21*127be1a7SAdrian Chadd.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22*127be1a7SAdrian Chadd.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23*127be1a7SAdrian Chadd.\" SUCH DAMAGE.
24*127be1a7SAdrian Chadd.\"
25*127be1a7SAdrian Chadd.\" $FreeBSD$
26*127be1a7SAdrian Chadd.\"
27*127be1a7SAdrian Chadd.Dd November 24, 2015
28*127be1a7SAdrian Chadd.Dt 80211 3
29*127be1a7SAdrian Chadd.Os
30*127be1a7SAdrian Chadd.Sh NAME
31*127be1a7SAdrian Chadd.Nm lib80211_alloc_regdata ,
32*127be1a7SAdrian Chadd.Nm lib80211_free_regdata ,
33*127be1a7SAdrian Chadd.Nm lib80211_regdomain_readconfig ,
34*127be1a7SAdrian Chadd.Nm lib80211_regdomain_cleanup ,
35*127be1a7SAdrian Chadd.Nm lib80211_regdomain_findbysku ,
36*127be1a7SAdrian Chadd.Nm lib80211_regdomain_findbyname ,
37*127be1a7SAdrian Chadd.Nm lib80211_country_findbycc ,
38*127be1a7SAdrian Chadd.Nm lib80211_country_findbyname
39*127be1a7SAdrian Chadd.Nd manage net80211 configuration and regulatory database.
40*127be1a7SAdrian Chadd.Sh LIBRARY
41*127be1a7SAdrian Chadd.Lb lib80211
42*127be1a7SAdrian Chadd.Sh SYNOPSIS
43*127be1a7SAdrian Chadd.In lib80211/lib80211_regdomain.h
44*127be1a7SAdrian Chadd.In lib80211/lib80211_ioctl.h
45*127be1a7SAdrian Chadd.Ft struct regdata *
46*127be1a7SAdrian Chadd.Fn lib80211_alloc_regdata void
47*127be1a7SAdrian Chadd.Ft void
48*127be1a7SAdrian Chadd.Fn lib80211_free_regdata "struct regdata *reg"
49*127be1a7SAdrian Chadd.Ft int
50*127be1a7SAdrian Chadd.Fn lib80211_regdomain_readconfig "struct regdata *reg" "const void *config" "size_t size"
51*127be1a7SAdrian Chadd.Ft void
52*127be1a7SAdrian Chadd.Fn lib80211_regdomain_cleanup "struct regdata *reg"
53*127be1a7SAdrian Chadd.Ft const struct regdomain *
54*127be1a7SAdrian Chadd.Fn lib80211_regdomain_findbysku "const struct regdata *reg" "enumRegDomainCode"
55*127be1a7SAdrian Chadd.Ft const struct regdomain *
56*127be1a7SAdrian Chadd.Fn lib80211_regdomain_findbyname "const struct regdata *reg" "const char *sku"
57*127be1a7SAdrian Chadd.Ft const struct country *
58*127be1a7SAdrian Chadd.Fn lib80211_country_findbycc "const struct regdata *reg" "enum ISOCountryCode"
59*127be1a7SAdrian Chadd.Ft const struct country *
60*127be1a7SAdrian Chadd.Fn lib80211_country_findbyname "const struct regdata *reg" "const char *cc"
61*127be1a7SAdrian Chadd.Sh DESCRIPTION
62*127be1a7SAdrian ChaddThe
63*127be1a7SAdrian Chadd.Nm lib80211
64*127be1a7SAdrian Chaddlibrary is an interface to the
65*127be1a7SAdrian Chadd.Xr net80211 4
66*127be1a7SAdrian Chaddinfrastructure.
67*127be1a7SAdrian ChaddIt implements wrappers around the
68*127be1a7SAdrian Chadd.Xr net80211 4
69*127be1a7SAdrian Chaddioctl command, as well as providing a convenient API to access the regulatory
70*127be1a7SAdrian Chadddatabase.
71*127be1a7SAdrian Chadd.Pp
72*127be1a7SAdrian ChaddThe
73*127be1a7SAdrian Chadd.Fn lib80211_alloc_regdata
74*127be1a7SAdrian Chaddand
75*127be1a7SAdrian Chadd.Fn lib80211_free_regdata
76*127be1a7SAdrian Chaddfunction allocates / frees a regdata structure to store regulatory domain
77*127be1a7SAdrian Chaddinformation in.
78*127be1a7SAdrian Chadd.Pp
79*127be1a7SAdrian ChaddThe
80*127be1a7SAdrian Chadd.Fn lib80211_regdomain_readconfig
81*127be1a7SAdrian Chaddand
82*127be1a7SAdrian Chadd.Fn lib80211_regdomain_cleanup
83*127be1a7SAdrian Chaddfunctions read in the regulatory database XML configuration and free it when
84*127be1a7SAdrian Chaddfinished.
85*127be1a7SAdrian Chadd.Pp
86*127be1a7SAdrian ChaddThe
87*127be1a7SAdrian Chadd.Fn lib80211_regdomain_findbysku
88*127be1a7SAdrian Chaddand
89*127be1a7SAdrian Chadd.Fn lib80211_regdomain_findbyname
90*127be1a7SAdrian Chaddfunctions lookup a regulatory domain entry by SKU enum and SKU name
91*127be1a7SAdrian Chaddrespectively.
92*127be1a7SAdrian Chadd.Pp
93*127be1a7SAdrian ChaddThe
94*127be1a7SAdrian Chadd.Fn lib80211_country_findbycc
95*127be1a7SAdrian Chaddand
96*127be1a7SAdrian Chadd.Fn lib80211_country_findbyname
97*127be1a7SAdrian Chaddfunctions lookup a country information entry by ISO country enum and
98*127be1a7SAdrian ChaddISO country code string respectively.
99*127be1a7SAdrian Chadd.Sh RETURN VALUES
100*127be1a7SAdrian ChaddThe
101*127be1a7SAdrian Chadd.Fn lib80211_alloc_regdata ,
102*127be1a7SAdrian Chadd.Fn lib80211_regdomain_readconfig ,
103*127be1a7SAdrian Chadd.Fn lib80211_regdomain_findbysku ,
104*127be1a7SAdrian Chadd.Fn lib80211_regdomain_findbyname ,
105*127be1a7SAdrian Chadd.Fn lib80211_country_findbycc ,
106*127be1a7SAdrian Chadd.Fn lib80211_country_findbyname
107*127be1a7SAdrian Chaddreturn NULL upon error.
108*127be1a7SAdrian Chadd
109*127be1a7SAdrian Chadd.Sh SEE ALSO
110*127be1a7SAdrian Chadd.Xr ifconfig 8 ,
111*127be1a7SAdrian Chadd.Xr net80211 4
112*127be1a7SAdrian Chadd.Sh HISTORY
113*127be1a7SAdrian ChaddThe
114*127be1a7SAdrian Chadd.Nm lib80211
115*127be1a7SAdrian Chaddlibrary first appeared in
116*127be1a7SAdrian Chadd.Fx 11.0 .
117*127be1a7SAdrian Chadd.Sh AUTHORS
118*127be1a7SAdrian Chadd.An Adrian Chadd
119