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