]>
git.ipfire.org Git - thirdparty/iw.git/blob - reg.c
5 #include <netlink/genl/genl.h>
6 #include <netlink/genl/family.h>
7 #include <netlink/genl/ctrl.h>
8 #include <netlink/msg.h>
9 #include <netlink/attr.h>
14 int isalpha_upper(char letter
)
16 if (letter
>= 65 && letter
<= 90)
21 static int is_alpha2(char *alpha2
)
23 if (isalpha_upper(alpha2
[0]) && isalpha_upper(alpha2
[1]))
28 static int is_world_regdom(char *alpha2
)
31 if (alpha2
[0] == 48 && alpha2
[1] == 48)
36 static int handle_reg_set(struct nl_cb
*cb
,
38 int argc
, char **argv
)
45 if (!is_alpha2(argv
[0]) && !is_world_regdom(argv
[0])) {
46 fprintf(stderr
, "not a valid ISO/IEC 3166-1 alpha2\n");
47 fprintf(stderr
, "Special non-alpha2 usable entries:\n");
48 fprintf(stderr
, "\t00\tWorld Regulatory domain\n");
52 alpha2
[0] = argv
[0][0];
53 alpha2
[1] = argv
[0][1];
62 NLA_PUT_STRING(msg
, NL80211_ATTR_REG_ALPHA2
, alpha2
);
68 COMMAND(reg
, set
, "<ISO/IEC 3166-1 alpha2>",
69 NL80211_CMD_REQ_SET_REG
, 0, CIB_NONE
, handle_reg_set
);