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