xref: /freebsd/lib/lib80211/lib80211.3 (revision ef7f1005cec62c8b02acb2221a542f6eb28792c4)
1127be1a7SAdrian Chadd.\" Copyright (c) 2015 Adrian Chadd.
2127be1a7SAdrian Chadd.\" All rights reserved.
3127be1a7SAdrian Chadd.\"
4127be1a7SAdrian Chadd.\" Redistribution and use in source and binary forms, with or without
5127be1a7SAdrian Chadd.\" modification, are permitted provided that the following conditions
6127be1a7SAdrian Chadd.\" are met:
7127be1a7SAdrian Chadd.\" 1. Redistributions of source code must retain the above copyright
8127be1a7SAdrian Chadd.\"    notice, this list of conditions and the following disclaimer.
9127be1a7SAdrian Chadd.\" 2. Redistributions in binary form must reproduce the above copyright
10127be1a7SAdrian Chadd.\"    notice, this list of conditions and the following disclaimer in the
11127be1a7SAdrian Chadd.\"    documentation and/or other materials provided with the distribution.
12127be1a7SAdrian Chadd.\"
13127be1a7SAdrian Chadd.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14127be1a7SAdrian Chadd.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15127be1a7SAdrian Chadd.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16127be1a7SAdrian Chadd.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17127be1a7SAdrian Chadd.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18127be1a7SAdrian Chadd.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19127be1a7SAdrian Chadd.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20127be1a7SAdrian Chadd.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21127be1a7SAdrian Chadd.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22127be1a7SAdrian Chadd.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23127be1a7SAdrian Chadd.\" SUCH DAMAGE.
24127be1a7SAdrian Chadd.\"
25127be1a7SAdrian Chadd.\" $FreeBSD$
26127be1a7SAdrian Chadd.\"
27*ef7f1005SChristian Brueffer.Dd December 15, 2015
28127be1a7SAdrian Chadd.Dt 80211 3
29127be1a7SAdrian Chadd.Os
30127be1a7SAdrian Chadd.Sh NAME
31127be1a7SAdrian Chadd.Nm lib80211_alloc_regdata ,
32127be1a7SAdrian Chadd.Nm lib80211_free_regdata ,
33127be1a7SAdrian Chadd.Nm lib80211_regdomain_readconfig ,
34127be1a7SAdrian Chadd.Nm lib80211_regdomain_cleanup ,
35127be1a7SAdrian Chadd.Nm lib80211_regdomain_findbysku ,
36127be1a7SAdrian Chadd.Nm lib80211_regdomain_findbyname ,
37127be1a7SAdrian Chadd.Nm lib80211_country_findbycc ,
38127be1a7SAdrian Chadd.Nm lib80211_country_findbyname
39127be1a7SAdrian Chadd.Nd manage net80211 configuration and regulatory database.
40127be1a7SAdrian Chadd.Sh LIBRARY
41127be1a7SAdrian Chadd.Lb lib80211
42127be1a7SAdrian Chadd.Sh SYNOPSIS
43127be1a7SAdrian Chadd.In lib80211/lib80211_regdomain.h
44127be1a7SAdrian Chadd.In lib80211/lib80211_ioctl.h
45127be1a7SAdrian Chadd.Ft struct regdata *
46127be1a7SAdrian Chadd.Fn lib80211_alloc_regdata void
47127be1a7SAdrian Chadd.Ft void
48127be1a7SAdrian Chadd.Fn lib80211_free_regdata "struct regdata *reg"
49127be1a7SAdrian Chadd.Ft int
50127be1a7SAdrian Chadd.Fn lib80211_regdomain_readconfig "struct regdata *reg" "const void *config" "size_t size"
51127be1a7SAdrian Chadd.Ft void
52127be1a7SAdrian Chadd.Fn lib80211_regdomain_cleanup "struct regdata *reg"
53127be1a7SAdrian Chadd.Ft const struct regdomain *
54127be1a7SAdrian Chadd.Fn lib80211_regdomain_findbysku "const struct regdata *reg" "enumRegDomainCode"
55127be1a7SAdrian Chadd.Ft const struct regdomain *
56127be1a7SAdrian Chadd.Fn lib80211_regdomain_findbyname "const struct regdata *reg" "const char *sku"
57127be1a7SAdrian Chadd.Ft const struct country *
58127be1a7SAdrian Chadd.Fn lib80211_country_findbycc "const struct regdata *reg" "enum ISOCountryCode"
59127be1a7SAdrian Chadd.Ft const struct country *
60127be1a7SAdrian Chadd.Fn lib80211_country_findbyname "const struct regdata *reg" "const char *cc"
61127be1a7SAdrian Chadd.Sh DESCRIPTION
62127be1a7SAdrian ChaddThe
63127be1a7SAdrian Chadd.Nm lib80211
64127be1a7SAdrian Chaddlibrary is an interface to the
65127be1a7SAdrian Chadd.Xr net80211 4
66127be1a7SAdrian Chaddinfrastructure.
67127be1a7SAdrian ChaddIt implements wrappers around the
68127be1a7SAdrian Chadd.Xr net80211 4
69127be1a7SAdrian Chaddioctl command, as well as providing a convenient API to access the regulatory
70127be1a7SAdrian Chadddatabase.
71127be1a7SAdrian Chadd.Pp
72127be1a7SAdrian ChaddThe
73127be1a7SAdrian Chadd.Fn lib80211_alloc_regdata
74127be1a7SAdrian Chaddand
75127be1a7SAdrian Chadd.Fn lib80211_free_regdata
76127be1a7SAdrian Chaddfunction allocates / frees a regdata structure to store regulatory domain
77127be1a7SAdrian Chaddinformation in.
78127be1a7SAdrian Chadd.Pp
79127be1a7SAdrian ChaddThe
80127be1a7SAdrian Chadd.Fn lib80211_regdomain_readconfig
81127be1a7SAdrian Chaddand
82127be1a7SAdrian Chadd.Fn lib80211_regdomain_cleanup
83127be1a7SAdrian Chaddfunctions read in the regulatory database XML configuration and free it when
84127be1a7SAdrian Chaddfinished.
85127be1a7SAdrian Chadd.Pp
86127be1a7SAdrian ChaddThe
87127be1a7SAdrian Chadd.Fn lib80211_regdomain_findbysku
88127be1a7SAdrian Chaddand
89127be1a7SAdrian Chadd.Fn lib80211_regdomain_findbyname
90127be1a7SAdrian Chaddfunctions look up a regulatory domain entry by SKU enum and SKU name
91127be1a7SAdrian Chaddrespectively.
92127be1a7SAdrian Chadd.Pp
93127be1a7SAdrian ChaddThe
94127be1a7SAdrian Chadd.Fn lib80211_country_findbycc
95127be1a7SAdrian Chaddand
96127be1a7SAdrian Chadd.Fn lib80211_country_findbyname
97127be1a7SAdrian Chaddfunctions look up a country information entry by ISO country enum and
98127be1a7SAdrian ChaddISO country code string respectively.
99127be1a7SAdrian Chadd.Sh RETURN VALUES
100127be1a7SAdrian ChaddThe
101127be1a7SAdrian Chadd.Fn lib80211_alloc_regdata ,
102127be1a7SAdrian Chadd.Fn lib80211_regdomain_readconfig ,
103127be1a7SAdrian Chadd.Fn lib80211_regdomain_findbysku ,
104127be1a7SAdrian Chadd.Fn lib80211_regdomain_findbyname ,
105127be1a7SAdrian Chadd.Fn lib80211_country_findbycc ,
106127be1a7SAdrian Chadd.Fn lib80211_country_findbyname
107*ef7f1005SChristian Bruefferreturn
108*ef7f1005SChristian Brueffer.Dv NULL
109*ef7f1005SChristian Bruefferupon error.
110127be1a7SAdrian Chadd.Sh SEE ALSO
111*ef7f1005SChristian Brueffer.Xr net80211 4 ,
112*ef7f1005SChristian Brueffer.Xr ifconfig 8
113127be1a7SAdrian Chadd.Sh HISTORY
114127be1a7SAdrian ChaddThe
115127be1a7SAdrian Chadd.Nm lib80211
116127be1a7SAdrian Chaddlibrary first appeared in
117127be1a7SAdrian Chadd.Fx 11.0 .
118127be1a7SAdrian Chadd.Sh AUTHORS
119127be1a7SAdrian Chadd.An Adrian Chadd
120