resetting manifest requested domain to floor
[platform/upstream/crda.git] / print-regdom.c
1 #include <errno.h>
2 #include <stdio.h>
3 #include <string.h>
4 #include <arpa/inet.h>
5
6 #include "nl80211.h"
7
8 #include "reglib.h"
9
10 static void print_reg_rule(struct ieee80211_reg_rule *rule)
11 {
12         struct ieee80211_freq_range *freq;
13         struct ieee80211_power_rule *power;
14
15         freq  = &rule->freq_range;
16         power = &rule->power_rule;
17
18         printf("\t(%.3f - %.3f @ %.3f), ",
19                ((float)(freq->start_freq_khz))/1000.0,
20                ((float)(freq->end_freq_khz))/1000.0,
21                ((float)(freq->max_bandwidth_khz))/1000.0);
22
23         printf("(");
24
25         if (power->max_antenna_gain)
26                 printf("%.2f, ", ((float)(power->max_antenna_gain)/100.0));
27         else
28                 printf("N/A, ");
29
30         if (power->max_eirp)
31                 printf("%.2f)", ((float)(power->max_eirp)/100.0));
32         else
33                 printf("N/A)");
34
35         if (rule->flags & NL80211_RRF_NO_OFDM)
36                 printf(", NO-OFDM");
37         if (rule->flags & NL80211_RRF_NO_CCK)
38                 printf(", NO-CCK");
39         if (rule->flags & NL80211_RRF_NO_INDOOR)
40                 printf(", NO-INDOOR");
41         if (rule->flags & NL80211_RRF_NO_OUTDOOR)
42                 printf(", NO-OUTDOOR");
43         if (rule->flags & NL80211_RRF_DFS)
44                 printf(", DFS");
45         if (rule->flags & NL80211_RRF_PTP_ONLY)
46                 printf(", PTP-ONLY");
47         if (rule->flags & NL80211_RRF_PTMP_ONLY)
48                 printf(", PTMP-ONLY");
49         if (rule->flags & NL80211_RRF_PASSIVE_SCAN)
50                 printf(", PASSIVE-SCAN");
51         if (rule->flags & NL80211_RRF_NO_IBSS)
52                 printf(", NO-IBSS");
53
54         printf("\n");
55 }
56
57 void print_regdom(struct ieee80211_regdomain *rd)
58 {
59         unsigned int i;
60         printf("country %.2s:\n", rd->alpha2);
61         for (i = 0; i < rd->n_reg_rules; i++)
62                 print_reg_rule(&rd->reg_rules[i]);
63         printf("\n");
64 }