linux/drivers/net/wireless/ath/regd.h

/*
 * Copyright (c) 2008-2009 Atheros Communications Inc.
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#ifndef REGD_H
#define REGD_H

#include <linux/nl80211.h>
#include <net/cfg80211.h>

#include "ath.h"

enum ctl_group {};

#define SD_NO_CTL
#define NO_CTL
#define CTL_11A
#define CTL_11B
#define CTL_11G
#define CTL_2GHT20
#define CTL_5GHT20
#define CTL_2GHT40
#define CTL_5GHT40

#define CTRY_DEBUG
#define CTRY_DEFAULT

#define COUNTRY_ERD_FLAG
#define WORLDWIDE_ROAMING_FLAG

#define MULTI_DOMAIN_MASK

#define WORLD_SKU_MASK
#define WORLD_SKU_PREFIX

#define CHANNEL_HALF_BW
#define CHANNEL_QUARTER_BW

struct country_code_to_enum_rd {};

enum CountryCode {};

bool ath_is_world_regd(struct ath_regulatory *reg);
bool ath_is_49ghz_allowed(u16 redomain);
u16 ath_regd_find_country_by_name(char *alpha2);
int ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy,
		  void (*reg_notifier)(struct wiphy *wiphy,
				       struct regulatory_request *request));
u32 ath_regd_get_band_ctl(struct ath_regulatory *reg,
			  enum nl80211_band band);
void ath_reg_notifier_apply(struct wiphy *wiphy,
			    struct regulatory_request *request,
			    struct ath_regulatory *reg);

#endif