You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

regd_common.h 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481
  1. /*
  2. * Copyright (c) 2008-2009 Atheros Communications Inc.
  3. *
  4. * Modified for iPXE by Scott K Logan <logans@cottsay.net> July 2011
  5. * Original from Linux kernel 3.0.1
  6. *
  7. * Permission to use, copy, modify, and/or distribute this software for any
  8. * purpose with or without fee is hereby granted, provided that the above
  9. * copyright notice and this permission notice appear in all copies.
  10. *
  11. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  12. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  13. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  14. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  15. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  16. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  17. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  18. */
  19. #ifndef REGD_COMMON_H
  20. #define REGD_COMMON_H
  21. enum EnumRd {
  22. NO_ENUMRD = 0x00,
  23. NULL1_WORLD = 0x03,
  24. NULL1_ETSIB = 0x07,
  25. NULL1_ETSIC = 0x08,
  26. FCC1_FCCA = 0x10,
  27. FCC1_WORLD = 0x11,
  28. FCC4_FCCA = 0x12,
  29. FCC5_FCCA = 0x13,
  30. FCC6_FCCA = 0x14,
  31. FCC2_FCCA = 0x20,
  32. FCC2_WORLD = 0x21,
  33. FCC2_ETSIC = 0x22,
  34. FCC6_WORLD = 0x23,
  35. FRANCE_RES = 0x31,
  36. FCC3_FCCA = 0x3A,
  37. FCC3_WORLD = 0x3B,
  38. ETSI1_WORLD = 0x37,
  39. ETSI3_ETSIA = 0x32,
  40. ETSI2_WORLD = 0x35,
  41. ETSI3_WORLD = 0x36,
  42. ETSI4_WORLD = 0x30,
  43. ETSI4_ETSIC = 0x38,
  44. ETSI5_WORLD = 0x39,
  45. ETSI6_WORLD = 0x34,
  46. ETSI_RESERVED = 0x33,
  47. MKK1_MKKA = 0x40,
  48. MKK1_MKKB = 0x41,
  49. APL4_WORLD = 0x42,
  50. MKK2_MKKA = 0x43,
  51. APL_RESERVED = 0x44,
  52. APL2_WORLD = 0x45,
  53. APL2_APLC = 0x46,
  54. APL3_WORLD = 0x47,
  55. MKK1_FCCA = 0x48,
  56. APL2_APLD = 0x49,
  57. MKK1_MKKA1 = 0x4A,
  58. MKK1_MKKA2 = 0x4B,
  59. MKK1_MKKC = 0x4C,
  60. APL3_FCCA = 0x50,
  61. APL1_WORLD = 0x52,
  62. APL1_FCCA = 0x53,
  63. APL1_APLA = 0x54,
  64. APL1_ETSIC = 0x55,
  65. APL2_ETSIC = 0x56,
  66. APL5_WORLD = 0x58,
  67. APL6_WORLD = 0x5B,
  68. APL7_FCCA = 0x5C,
  69. APL8_WORLD = 0x5D,
  70. APL9_WORLD = 0x5E,
  71. WOR0_WORLD = 0x60,
  72. WOR1_WORLD = 0x61,
  73. WOR2_WORLD = 0x62,
  74. WOR3_WORLD = 0x63,
  75. WOR4_WORLD = 0x64,
  76. WOR5_ETSIC = 0x65,
  77. WOR01_WORLD = 0x66,
  78. WOR02_WORLD = 0x67,
  79. EU1_WORLD = 0x68,
  80. WOR9_WORLD = 0x69,
  81. WORA_WORLD = 0x6A,
  82. WORB_WORLD = 0x6B,
  83. WORC_WORLD = 0x6C,
  84. MKK3_MKKB = 0x80,
  85. MKK3_MKKA2 = 0x81,
  86. MKK3_MKKC = 0x82,
  87. MKK4_MKKB = 0x83,
  88. MKK4_MKKA2 = 0x84,
  89. MKK4_MKKC = 0x85,
  90. MKK5_MKKB = 0x86,
  91. MKK5_MKKA2 = 0x87,
  92. MKK5_MKKC = 0x88,
  93. MKK6_MKKB = 0x89,
  94. MKK6_MKKA2 = 0x8A,
  95. MKK6_MKKC = 0x8B,
  96. MKK7_MKKB = 0x8C,
  97. MKK7_MKKA2 = 0x8D,
  98. MKK7_MKKC = 0x8E,
  99. MKK8_MKKB = 0x8F,
  100. MKK8_MKKA2 = 0x90,
  101. MKK8_MKKC = 0x91,
  102. MKK14_MKKA1 = 0x92,
  103. MKK15_MKKA1 = 0x93,
  104. MKK10_FCCA = 0xD0,
  105. MKK10_MKKA1 = 0xD1,
  106. MKK10_MKKC = 0xD2,
  107. MKK10_MKKA2 = 0xD3,
  108. MKK11_MKKA = 0xD4,
  109. MKK11_FCCA = 0xD5,
  110. MKK11_MKKA1 = 0xD6,
  111. MKK11_MKKC = 0xD7,
  112. MKK11_MKKA2 = 0xD8,
  113. MKK12_MKKA = 0xD9,
  114. MKK12_FCCA = 0xDA,
  115. MKK12_MKKA1 = 0xDB,
  116. MKK12_MKKC = 0xDC,
  117. MKK12_MKKA2 = 0xDD,
  118. MKK13_MKKB = 0xDE,
  119. MKK3_MKKA = 0xF0,
  120. MKK3_MKKA1 = 0xF1,
  121. MKK3_FCCA = 0xF2,
  122. MKK4_MKKA = 0xF3,
  123. MKK4_MKKA1 = 0xF4,
  124. MKK4_FCCA = 0xF5,
  125. MKK9_MKKA = 0xF6,
  126. MKK10_MKKA = 0xF7,
  127. MKK6_MKKA1 = 0xF8,
  128. MKK6_FCCA = 0xF9,
  129. MKK7_MKKA1 = 0xFA,
  130. MKK7_FCCA = 0xFB,
  131. MKK9_FCCA = 0xFC,
  132. MKK9_MKKA1 = 0xFD,
  133. MKK9_MKKC = 0xFE,
  134. MKK9_MKKA2 = 0xFF,
  135. WORLD = 0x0199,
  136. DEBUG_REG_DMN = 0x01ff,
  137. };
  138. ///* Regpair to CTL band mapping */
  139. //static struct reg_dmn_pair_mapping regDomainPairs[] = {
  140. // /* regpair, 5 GHz CTL, 2 GHz CTL */
  141. // {NO_ENUMRD, DEBUG_REG_DMN, DEBUG_REG_DMN},
  142. // {NULL1_WORLD, NO_CTL, CTL_ETSI},
  143. // {NULL1_ETSIB, NO_CTL, CTL_ETSI},
  144. // {NULL1_ETSIC, NO_CTL, CTL_ETSI},
  145. //
  146. // {FCC2_FCCA, CTL_FCC, CTL_FCC},
  147. // {FCC2_WORLD, CTL_FCC, CTL_ETSI},
  148. // {FCC2_ETSIC, CTL_FCC, CTL_ETSI},
  149. // {FCC3_FCCA, CTL_FCC, CTL_FCC},
  150. // {FCC3_WORLD, CTL_FCC, CTL_ETSI},
  151. // {FCC4_FCCA, CTL_FCC, CTL_FCC},
  152. // {FCC5_FCCA, CTL_FCC, CTL_FCC},
  153. // {FCC6_FCCA, CTL_FCC, CTL_FCC},
  154. // {FCC6_WORLD, CTL_FCC, CTL_ETSI},
  155. //
  156. // {ETSI1_WORLD, CTL_ETSI, CTL_ETSI},
  157. // {ETSI2_WORLD, CTL_ETSI, CTL_ETSI},
  158. // {ETSI3_WORLD, CTL_ETSI, CTL_ETSI},
  159. // {ETSI4_WORLD, CTL_ETSI, CTL_ETSI},
  160. // {ETSI5_WORLD, CTL_ETSI, CTL_ETSI},
  161. // {ETSI6_WORLD, CTL_ETSI, CTL_ETSI},
  162. //
  163. // /* XXX: For ETSI3_ETSIA, Was NO_CTL meant for the 2 GHz band ? */
  164. // {ETSI3_ETSIA, CTL_ETSI, CTL_ETSI},
  165. // {FRANCE_RES, CTL_ETSI, CTL_ETSI},
  166. //
  167. // {FCC1_WORLD, CTL_FCC, CTL_ETSI},
  168. // {FCC1_FCCA, CTL_FCC, CTL_FCC},
  169. // {APL1_WORLD, CTL_FCC, CTL_ETSI},
  170. // {APL2_WORLD, CTL_FCC, CTL_ETSI},
  171. // {APL3_WORLD, CTL_FCC, CTL_ETSI},
  172. // {APL4_WORLD, CTL_FCC, CTL_ETSI},
  173. // {APL5_WORLD, CTL_FCC, CTL_ETSI},
  174. // {APL6_WORLD, CTL_ETSI, CTL_ETSI},
  175. // {APL8_WORLD, CTL_ETSI, CTL_ETSI},
  176. // {APL9_WORLD, CTL_ETSI, CTL_ETSI},
  177. //
  178. // {APL3_FCCA, CTL_FCC, CTL_FCC},
  179. // {APL7_FCCA, CTL_FCC, CTL_FCC},
  180. // {APL1_ETSIC, CTL_FCC, CTL_ETSI},
  181. // {APL2_ETSIC, CTL_FCC, CTL_ETSI},
  182. // {APL2_APLD, CTL_FCC, NO_CTL},
  183. //
  184. // {MKK1_MKKA, CTL_MKK, CTL_MKK},
  185. // {MKK1_MKKB, CTL_MKK, CTL_MKK},
  186. // {MKK1_FCCA, CTL_MKK, CTL_FCC},
  187. // {MKK1_MKKA1, CTL_MKK, CTL_MKK},
  188. // {MKK1_MKKA2, CTL_MKK, CTL_MKK},
  189. // {MKK1_MKKC, CTL_MKK, CTL_MKK},
  190. //
  191. // {MKK2_MKKA, CTL_MKK, CTL_MKK},
  192. // {MKK3_MKKA, CTL_MKK, CTL_MKK},
  193. // {MKK3_MKKB, CTL_MKK, CTL_MKK},
  194. // {MKK3_MKKA1, CTL_MKK, CTL_MKK},
  195. // {MKK3_MKKA2, CTL_MKK, CTL_MKK},
  196. // {MKK3_MKKC, CTL_MKK, CTL_MKK},
  197. // {MKK3_FCCA, CTL_MKK, CTL_FCC},
  198. //
  199. // {MKK4_MKKA, CTL_MKK, CTL_MKK},
  200. // {MKK4_MKKB, CTL_MKK, CTL_MKK},
  201. // {MKK4_MKKA1, CTL_MKK, CTL_MKK},
  202. // {MKK4_MKKA2, CTL_MKK, CTL_MKK},
  203. // {MKK4_MKKC, CTL_MKK, CTL_MKK},
  204. // {MKK4_FCCA, CTL_MKK, CTL_FCC},
  205. //
  206. // {MKK5_MKKB, CTL_MKK, CTL_MKK},
  207. // {MKK5_MKKA2, CTL_MKK, CTL_MKK},
  208. // {MKK5_MKKC, CTL_MKK, CTL_MKK},
  209. //
  210. // {MKK6_MKKB, CTL_MKK, CTL_MKK},
  211. // {MKK6_MKKA1, CTL_MKK, CTL_MKK},
  212. // {MKK6_MKKA2, CTL_MKK, CTL_MKK},
  213. // {MKK6_MKKC, CTL_MKK, CTL_MKK},
  214. // {MKK6_FCCA, CTL_MKK, CTL_FCC},
  215. //
  216. // {MKK7_MKKB, CTL_MKK, CTL_MKK},
  217. // {MKK7_MKKA1, CTL_MKK, CTL_MKK},
  218. // {MKK7_MKKA2, CTL_MKK, CTL_MKK},
  219. // {MKK7_MKKC, CTL_MKK, CTL_MKK},
  220. // {MKK7_FCCA, CTL_MKK, CTL_FCC},
  221. //
  222. // {MKK8_MKKB, CTL_MKK, CTL_MKK},
  223. // {MKK8_MKKA2, CTL_MKK, CTL_MKK},
  224. // {MKK8_MKKC, CTL_MKK, CTL_MKK},
  225. //
  226. // {MKK9_MKKA, CTL_MKK, CTL_MKK},
  227. // {MKK9_FCCA, CTL_MKK, CTL_FCC},
  228. // {MKK9_MKKA1, CTL_MKK, CTL_MKK},
  229. // {MKK9_MKKA2, CTL_MKK, CTL_MKK},
  230. // {MKK9_MKKC, CTL_MKK, CTL_MKK},
  231. //
  232. // {MKK10_MKKA, CTL_MKK, CTL_MKK},
  233. // {MKK10_FCCA, CTL_MKK, CTL_FCC},
  234. // {MKK10_MKKA1, CTL_MKK, CTL_MKK},
  235. // {MKK10_MKKA2, CTL_MKK, CTL_MKK},
  236. // {MKK10_MKKC, CTL_MKK, CTL_MKK},
  237. //
  238. // {MKK11_MKKA, CTL_MKK, CTL_MKK},
  239. // {MKK11_FCCA, CTL_MKK, CTL_FCC},
  240. // {MKK11_MKKA1, CTL_MKK, CTL_MKK},
  241. // {MKK11_MKKA2, CTL_MKK, CTL_MKK},
  242. // {MKK11_MKKC, CTL_MKK, CTL_MKK},
  243. //
  244. // {MKK12_MKKA, CTL_MKK, CTL_MKK},
  245. // {MKK12_FCCA, CTL_MKK, CTL_FCC},
  246. // {MKK12_MKKA1, CTL_MKK, CTL_MKK},
  247. // {MKK12_MKKA2, CTL_MKK, CTL_MKK},
  248. // {MKK12_MKKC, CTL_MKK, CTL_MKK},
  249. //
  250. // {MKK13_MKKB, CTL_MKK, CTL_MKK},
  251. // {MKK14_MKKA1, CTL_MKK, CTL_MKK},
  252. // {MKK15_MKKA1, CTL_MKK, CTL_MKK},
  253. //
  254. // {WOR0_WORLD, NO_CTL, NO_CTL},
  255. // {WOR1_WORLD, NO_CTL, NO_CTL},
  256. // {WOR2_WORLD, NO_CTL, NO_CTL},
  257. // {WOR3_WORLD, NO_CTL, NO_CTL},
  258. // {WOR4_WORLD, NO_CTL, NO_CTL},
  259. // {WOR5_ETSIC, NO_CTL, NO_CTL},
  260. // {WOR01_WORLD, NO_CTL, NO_CTL},
  261. // {WOR02_WORLD, NO_CTL, NO_CTL},
  262. // {EU1_WORLD, NO_CTL, NO_CTL},
  263. // {WOR9_WORLD, NO_CTL, NO_CTL},
  264. // {WORA_WORLD, NO_CTL, NO_CTL},
  265. // {WORB_WORLD, NO_CTL, NO_CTL},
  266. // {WORC_WORLD, NO_CTL, NO_CTL},
  267. //};
  268. //
  269. //static struct country_code_to_enum_rd allCountries[] = {
  270. // {CTRY_DEBUG, NO_ENUMRD, "DB"},
  271. // {CTRY_DEFAULT, FCC1_FCCA, "CO"},
  272. // {CTRY_ALBANIA, NULL1_WORLD, "AL"},
  273. // {CTRY_ALGERIA, NULL1_WORLD, "DZ"},
  274. // {CTRY_ARGENTINA, FCC3_WORLD, "AR"},
  275. // {CTRY_ARMENIA, ETSI4_WORLD, "AM"},
  276. // {CTRY_ARUBA, ETSI1_WORLD, "AW"},
  277. // {CTRY_AUSTRALIA, FCC2_WORLD, "AU"},
  278. // {CTRY_AUSTRALIA2, FCC6_WORLD, "AU"},
  279. // {CTRY_AUSTRIA, ETSI1_WORLD, "AT"},
  280. // {CTRY_AZERBAIJAN, ETSI4_WORLD, "AZ"},
  281. // {CTRY_BAHRAIN, APL6_WORLD, "BH"},
  282. // {CTRY_BANGLADESH, NULL1_WORLD, "BD"},
  283. // {CTRY_BARBADOS, FCC2_WORLD, "BB"},
  284. // {CTRY_BELARUS, ETSI1_WORLD, "BY"},
  285. // {CTRY_BELGIUM, ETSI1_WORLD, "BE"},
  286. // {CTRY_BELGIUM2, ETSI4_WORLD, "BL"},
  287. // {CTRY_BELIZE, APL1_ETSIC, "BZ"},
  288. // {CTRY_BOLIVIA, APL1_ETSIC, "BO"},
  289. // {CTRY_BOSNIA_HERZ, ETSI1_WORLD, "BA"},
  290. // {CTRY_BRAZIL, FCC3_WORLD, "BR"},
  291. // {CTRY_BRUNEI_DARUSSALAM, APL1_WORLD, "BN"},
  292. // {CTRY_BULGARIA, ETSI6_WORLD, "BG"},
  293. // {CTRY_CAMBODIA, ETSI1_WORLD, "KH"},
  294. // {CTRY_CANADA, FCC3_FCCA, "CA"},
  295. // {CTRY_CANADA2, FCC6_FCCA, "CA"},
  296. // {CTRY_CHILE, APL6_WORLD, "CL"},
  297. // {CTRY_CHINA, APL1_WORLD, "CN"},
  298. // {CTRY_COLOMBIA, FCC1_FCCA, "CO"},
  299. // {CTRY_COSTA_RICA, FCC1_WORLD, "CR"},
  300. // {CTRY_CROATIA, ETSI1_WORLD, "HR"},
  301. // {CTRY_CYPRUS, ETSI1_WORLD, "CY"},
  302. // {CTRY_CZECH, ETSI3_WORLD, "CZ"},
  303. // {CTRY_DENMARK, ETSI1_WORLD, "DK"},
  304. // {CTRY_DOMINICAN_REPUBLIC, FCC1_FCCA, "DO"},
  305. // {CTRY_ECUADOR, FCC1_WORLD, "EC"},
  306. // {CTRY_EGYPT, ETSI3_WORLD, "EG"},
  307. // {CTRY_EL_SALVADOR, FCC1_WORLD, "SV"},
  308. // {CTRY_ESTONIA, ETSI1_WORLD, "EE"},
  309. // {CTRY_FINLAND, ETSI1_WORLD, "FI"},
  310. // {CTRY_FRANCE, ETSI1_WORLD, "FR"},
  311. // {CTRY_GEORGIA, ETSI4_WORLD, "GE"},
  312. // {CTRY_GERMANY, ETSI1_WORLD, "DE"},
  313. // {CTRY_GREECE, ETSI1_WORLD, "GR"},
  314. // {CTRY_GREENLAND, ETSI1_WORLD, "GL"},
  315. // {CTRY_GRENEDA, FCC3_FCCA, "GD"},
  316. // {CTRY_GUAM, FCC1_FCCA, "GU"},
  317. // {CTRY_GUATEMALA, FCC1_FCCA, "GT"},
  318. // {CTRY_HAITI, ETSI1_WORLD, "HT"},
  319. // {CTRY_HONDURAS, NULL1_WORLD, "HN"},
  320. // {CTRY_HONG_KONG, FCC3_WORLD, "HK"},
  321. // {CTRY_HUNGARY, ETSI1_WORLD, "HU"},
  322. // {CTRY_ICELAND, ETSI1_WORLD, "IS"},
  323. // {CTRY_INDIA, APL6_WORLD, "IN"},
  324. // {CTRY_INDONESIA, NULL1_WORLD, "ID"},
  325. // {CTRY_IRAN, APL1_WORLD, "IR"},
  326. // {CTRY_IRELAND, ETSI1_WORLD, "IE"},
  327. // {CTRY_ISRAEL, NULL1_WORLD, "IL"},
  328. // {CTRY_ITALY, ETSI1_WORLD, "IT"},
  329. // {CTRY_JAMAICA, FCC3_WORLD, "JM"},
  330. //
  331. // {CTRY_JAPAN, MKK1_MKKA, "JP"},
  332. // {CTRY_JAPAN1, MKK1_MKKB, "JP"},
  333. // {CTRY_JAPAN2, MKK1_FCCA, "JP"},
  334. // {CTRY_JAPAN3, MKK2_MKKA, "JP"},
  335. // {CTRY_JAPAN4, MKK1_MKKA1, "JP"},
  336. // {CTRY_JAPAN5, MKK1_MKKA2, "JP"},
  337. // {CTRY_JAPAN6, MKK1_MKKC, "JP"},
  338. // {CTRY_JAPAN7, MKK3_MKKB, "JP"},
  339. // {CTRY_JAPAN8, MKK3_MKKA2, "JP"},
  340. // {CTRY_JAPAN9, MKK3_MKKC, "JP"},
  341. // {CTRY_JAPAN10, MKK4_MKKB, "JP"},
  342. // {CTRY_JAPAN11, MKK4_MKKA2, "JP"},
  343. // {CTRY_JAPAN12, MKK4_MKKC, "JP"},
  344. // {CTRY_JAPAN13, MKK5_MKKB, "JP"},
  345. // {CTRY_JAPAN14, MKK5_MKKA2, "JP"},
  346. // {CTRY_JAPAN15, MKK5_MKKC, "JP"},
  347. // {CTRY_JAPAN16, MKK6_MKKB, "JP"},
  348. // {CTRY_JAPAN17, MKK6_MKKA2, "JP"},
  349. // {CTRY_JAPAN18, MKK6_MKKC, "JP"},
  350. // {CTRY_JAPAN19, MKK7_MKKB, "JP"},
  351. // {CTRY_JAPAN20, MKK7_MKKA2, "JP"},
  352. // {CTRY_JAPAN21, MKK7_MKKC, "JP"},
  353. // {CTRY_JAPAN22, MKK8_MKKB, "JP"},
  354. // {CTRY_JAPAN23, MKK8_MKKA2, "JP"},
  355. // {CTRY_JAPAN24, MKK8_MKKC, "JP"},
  356. // {CTRY_JAPAN25, MKK3_MKKA, "JP"},
  357. // {CTRY_JAPAN26, MKK3_MKKA1, "JP"},
  358. // {CTRY_JAPAN27, MKK3_FCCA, "JP"},
  359. // {CTRY_JAPAN28, MKK4_MKKA1, "JP"},
  360. // {CTRY_JAPAN29, MKK4_FCCA, "JP"},
  361. // {CTRY_JAPAN30, MKK6_MKKA1, "JP"},
  362. // {CTRY_JAPAN31, MKK6_FCCA, "JP"},
  363. // {CTRY_JAPAN32, MKK7_MKKA1, "JP"},
  364. // {CTRY_JAPAN33, MKK7_FCCA, "JP"},
  365. // {CTRY_JAPAN34, MKK9_MKKA, "JP"},
  366. // {CTRY_JAPAN35, MKK10_MKKA, "JP"},
  367. // {CTRY_JAPAN36, MKK4_MKKA, "JP"},
  368. // {CTRY_JAPAN37, MKK9_FCCA, "JP"},
  369. // {CTRY_JAPAN38, MKK9_MKKA1, "JP"},
  370. // {CTRY_JAPAN39, MKK9_MKKC, "JP"},
  371. // {CTRY_JAPAN40, MKK9_MKKA2, "JP"},
  372. // {CTRY_JAPAN41, MKK10_FCCA, "JP"},
  373. // {CTRY_JAPAN42, MKK10_MKKA1, "JP"},
  374. // {CTRY_JAPAN43, MKK10_MKKC, "JP"},
  375. // {CTRY_JAPAN44, MKK10_MKKA2, "JP"},
  376. // {CTRY_JAPAN45, MKK11_MKKA, "JP"},
  377. // {CTRY_JAPAN46, MKK11_FCCA, "JP"},
  378. // {CTRY_JAPAN47, MKK11_MKKA1, "JP"},
  379. // {CTRY_JAPAN48, MKK11_MKKC, "JP"},
  380. // {CTRY_JAPAN49, MKK11_MKKA2, "JP"},
  381. // {CTRY_JAPAN50, MKK12_MKKA, "JP"},
  382. // {CTRY_JAPAN51, MKK12_FCCA, "JP"},
  383. // {CTRY_JAPAN52, MKK12_MKKA1, "JP"},
  384. // {CTRY_JAPAN53, MKK12_MKKC, "JP"},
  385. // {CTRY_JAPAN54, MKK12_MKKA2, "JP"},
  386. // {CTRY_JAPAN57, MKK13_MKKB, "JP"},
  387. // {CTRY_JAPAN58, MKK14_MKKA1, "JP"},
  388. // {CTRY_JAPAN59, MKK15_MKKA1, "JP"},
  389. //
  390. // {CTRY_JORDAN, ETSI2_WORLD, "JO"},
  391. // {CTRY_KAZAKHSTAN, NULL1_WORLD, "KZ"},
  392. // {CTRY_KOREA_NORTH, APL9_WORLD, "KP"},
  393. // {CTRY_KOREA_ROC, APL9_WORLD, "KR"},
  394. // {CTRY_KOREA_ROC2, APL2_WORLD, "K2"},
  395. // {CTRY_KOREA_ROC3, APL9_WORLD, "K3"},
  396. // {CTRY_KUWAIT, ETSI3_WORLD, "KW"},
  397. // {CTRY_LATVIA, ETSI1_WORLD, "LV"},
  398. // {CTRY_LEBANON, NULL1_WORLD, "LB"},
  399. // {CTRY_LIECHTENSTEIN, ETSI1_WORLD, "LI"},
  400. // {CTRY_LITHUANIA, ETSI1_WORLD, "LT"},
  401. // {CTRY_LUXEMBOURG, ETSI1_WORLD, "LU"},
  402. // {CTRY_MACAU, FCC2_WORLD, "MO"},
  403. // {CTRY_MACEDONIA, NULL1_WORLD, "MK"},
  404. // {CTRY_MALAYSIA, APL8_WORLD, "MY"},
  405. // {CTRY_MALTA, ETSI1_WORLD, "MT"},
  406. // {CTRY_MEXICO, FCC1_FCCA, "MX"},
  407. // {CTRY_MONACO, ETSI4_WORLD, "MC"},
  408. // {CTRY_MOROCCO, APL4_WORLD, "MA"},
  409. // {CTRY_NEPAL, APL1_WORLD, "NP"},
  410. // {CTRY_NETHERLANDS, ETSI1_WORLD, "NL"},
  411. // {CTRY_NETHERLANDS_ANTILLES, ETSI1_WORLD, "AN"},
  412. // {CTRY_NEW_ZEALAND, FCC2_ETSIC, "NZ"},
  413. // {CTRY_NORWAY, ETSI1_WORLD, "NO"},
  414. // {CTRY_OMAN, FCC3_WORLD, "OM"},
  415. // {CTRY_PAKISTAN, NULL1_WORLD, "PK"},
  416. // {CTRY_PANAMA, FCC1_FCCA, "PA"},
  417. // {CTRY_PAPUA_NEW_GUINEA, FCC1_WORLD, "PG"},
  418. // {CTRY_PERU, APL1_WORLD, "PE"},
  419. // {CTRY_PHILIPPINES, APL1_WORLD, "PH"},
  420. // {CTRY_POLAND, ETSI1_WORLD, "PL"},
  421. // {CTRY_PORTUGAL, ETSI1_WORLD, "PT"},
  422. // {CTRY_PUERTO_RICO, FCC1_FCCA, "PR"},
  423. // {CTRY_QATAR, APL1_WORLD, "QA"},
  424. // {CTRY_ROMANIA, NULL1_WORLD, "RO"},
  425. // {CTRY_RUSSIA, NULL1_WORLD, "RU"},
  426. // {CTRY_SAUDI_ARABIA, NULL1_WORLD, "SA"},
  427. // {CTRY_SERBIA_MONTENEGRO, ETSI1_WORLD, "CS"},
  428. // {CTRY_SINGAPORE, APL6_WORLD, "SG"},
  429. // {CTRY_SLOVAKIA, ETSI1_WORLD, "SK"},
  430. // {CTRY_SLOVENIA, ETSI1_WORLD, "SI"},
  431. // {CTRY_SOUTH_AFRICA, FCC3_WORLD, "ZA"},
  432. // {CTRY_SPAIN, ETSI1_WORLD, "ES"},
  433. // {CTRY_SRI_LANKA, FCC3_WORLD, "LK"},
  434. // {CTRY_SWEDEN, ETSI1_WORLD, "SE"},
  435. // {CTRY_SWITZERLAND, ETSI1_WORLD, "CH"},
  436. // {CTRY_SYRIA, NULL1_WORLD, "SY"},
  437. // {CTRY_TAIWAN, APL3_FCCA, "TW"},
  438. // {CTRY_THAILAND, FCC3_WORLD, "TH"},
  439. // {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT"},
  440. // {CTRY_TUNISIA, ETSI3_WORLD, "TN"},
  441. // {CTRY_TURKEY, ETSI3_WORLD, "TR"},
  442. // {CTRY_UKRAINE, NULL1_WORLD, "UA"},
  443. // {CTRY_UAE, NULL1_WORLD, "AE"},
  444. // {CTRY_UNITED_KINGDOM, ETSI1_WORLD, "GB"},
  445. // {CTRY_UNITED_STATES, FCC3_FCCA, "US"},
  446. // /* This "PS" is for US public safety actually... to support this we
  447. // * would need to assign new special alpha2 to CRDA db as with the world
  448. // * regdomain and use another alpha2 */
  449. // {CTRY_UNITED_STATES_FCC49, FCC4_FCCA, "PS"},
  450. // {CTRY_URUGUAY, FCC3_WORLD, "UY"},
  451. // {CTRY_UZBEKISTAN, FCC3_FCCA, "UZ"},
  452. // {CTRY_VENEZUELA, APL2_ETSIC, "VE"},
  453. // {CTRY_VIET_NAM, NULL1_WORLD, "VN"},
  454. // {CTRY_YEMEN, NULL1_WORLD, "YE"},
  455. // {CTRY_ZIMBABWE, NULL1_WORLD, "ZW"},
  456. //};
  457. #endif