Browse Source

common: Add function to get an operating class by its number and country

Add a function to get operating class definition (including bandwidth,
channel numbers, etc.) from the operating class number and country.

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Avraham Stern 8 years ago
parent
commit
c9ff8e5f6e
2 changed files with 20 additions and 0 deletions
  1. 18 0
      src/common/ieee802_11_common.c
  2. 2 0
      src/common/ieee802_11_common.h

+ 18 - 0
src/common/ieee802_11_common.c

@@ -1576,3 +1576,21 @@ u8 country_to_global_op_class(const char *country, u8 op_class)
 	 */
 	return g_op_class ? g_op_class : op_class;
 }
+
+
+const struct oper_class_map * get_oper_class(const char *country, u8 op_class)
+{
+	const struct oper_class_map *op;
+
+	if (country)
+		op_class = country_to_global_op_class(country, op_class);
+
+	op = &global_op_class[0];
+	while (op->op_class && op->op_class != op_class)
+		op++;
+
+	if (!op->op_class)
+		return NULL;
+
+	return op;
+}

+ 2 - 0
src/common/ieee802_11_common.h

@@ -184,4 +184,6 @@ struct country_op_class {
 
 u8 country_to_global_op_class(const char *country, u8 op_class);
 
+const struct oper_class_map * get_oper_class(const char *country, u8 op_class);
+
 #endif /* IEEE802_11_COMMON_H */