blob: 262677f201a198521b5d5410c77230dccc8b572a [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
2 * Copyright (c) 2011, 2014 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
28/*
29 * Notifications and licenses are retained for attribution purposes only.
30 */
31/*
32 * Copyright (c) 2002-2006 Sam Leffler, Errno Consulting
33 * Copyright (c) 2005-2006 Atheros Communications, Inc.
34 * Copyright (c) 2010, Atheros Communications Inc.
35 *
36 * Redistribution and use in source and binary forms are permitted
37 * provided that the following conditions are met:
38 * 1. The materials contained herein are unmodified and are used
39 * unmodified.
40 * 2. Redistributions of source code must retain the above copyright
41 * notice, this list of conditions and the following NO
42 * ''WARRANTY'' disclaimer below (''Disclaimer''), without
43 * modification.
44 * 3. Redistributions in binary form must reproduce at minimum a
45 * disclaimer similar to the Disclaimer below and any redistribution
46 * must be conditioned upon including a substantially similar
47 * Disclaimer requirement for further binary redistribution.
48 * 4. Neither the names of the above-listed copyright holders nor the
49 * names of any contributors may be used to endorse or promote
50 * product derived from this software without specific prior written
51 * permission.
52 *
53 * NO WARRANTY
54 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
55 * ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
56 * LIMITED TO, THE IMPLIED WARRANTIES OF NONINFRINGEMENT,
57 * MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
58 * IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
59 * FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
60 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
61 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
62 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
63 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
64 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
65 * SUCH DAMAGES.
66 *
67 * This module contains the regulatory domain private structure definitions .
68 *
69 */
70
71#ifndef REGULATORY_H
72#define REGULATORY_H
73
74enum {
75 CTRY_DEBUG = 0x1ff, /* debug country code */
76 CTRY_DEFAULT = 0 /* default country code */
77};
78
79#define BMLEN 2 /* Use 2 64 bit uint for channel bitmask */
80
81/*
82 * The following table is the master list for all different freqeuncy
83 * bands with the complete matrix of all possible flags and settings
84 * for each band if it is used in ANY reg domain.
85 */
86
87#define DEF_REGDMN FCC3_FCCA
88#define DEF_DMN_5 FCC1
89#define DEF_DMN_2 FCCA
90#define COUNTRY_ERD_FLAG 0x8000
91#define WORLDWIDE_ROAMING_FLAG 0x4000
92#define SUPER_DOMAIN_MASK 0x0fff
93#define COUNTRY_CODE_MASK 0x3fff
94#define CF_INTERFERENCE (CHANNEL_CW_INT | CHANNEL_RADAR_INT)
95
96/*
97 * The following describe the bit masks for different passive scan
98 * capability/requirements per regdomain.
99 */
100#define NO_PSCAN 0x0ULL
101#define PSCAN_FCC 0x0000000000000001ULL
102#define PSCAN_FCC_T 0x0000000000000002ULL
103#define PSCAN_ETSI 0x0000000000000004ULL
104#define PSCAN_MKK1 0x0000000000000008ULL
105#define PSCAN_MKK2 0x0000000000000010ULL
106#define PSCAN_MKKA 0x0000000000000020ULL
107#define PSCAN_MKKA_G 0x0000000000000040ULL
108#define PSCAN_ETSIA 0x0000000000000080ULL
109#define PSCAN_ETSIB 0x0000000000000100ULL
110#define PSCAN_ETSIC 0x0000000000000200ULL
111#define PSCAN_WWR 0x0000000000000400ULL
112#define PSCAN_MKKA1 0x0000000000000800ULL
113#define PSCAN_MKKA1_G 0x0000000000001000ULL
114#define PSCAN_MKKA2 0x0000000000002000ULL
115#define PSCAN_MKKA2_G 0x0000000000004000ULL
116#define PSCAN_MKK3 0x0000000000008000ULL
117#define PSCAN_EXT_CHAN 0x0000000000010000ULL
118#define PSCAN_DEFER 0x7FFFFFFFFFFFFFFFULL
119#define IS_ECM_CHAN 0x8000000000000000ULL
120
121/* define in ah_eeprom.h */
122#define SD_NO_CTL 0xf0
123#define NO_CTL 0xff
124#define CTL_MODE_M 0x0f
125#define CTL_11A 0
126#define CTL_11B 1
127#define CTL_11G 2
128#define CTL_TURBO 3
129#define CTL_108G 4
130#define CTL_2GHT20 5
131#define CTL_5GHT20 6
132#define CTL_2GHT40 7
133#define CTL_5GHT40 8
134#define CTL_5GVHT80 9
135
136#ifndef ATH_NO_5G_SUPPORT
137#define REGDMN_MODE_11A_TURBO REGDMN_MODE_108A
138#define CHAN_11A_BMZERO BMZERO,
139#define CHAN_11A_BM(_a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l) \
140 BM(_a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l),
141#else
142/* remove 11a channel info if 11a is not supported */
143#define CHAN_11A_BMZERO
144#define CHAN_11A_BM(_a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l)
145#endif
146#ifndef ATH_REMOVE_2G_TURBO_RD_TABLE
147#define REGDMN_MODE_11G_TURBO REGDMN_MODE_108G
148#define CHAN_TURBO_G_BMZERO BMZERO,
149#define CHAN_TURBO_G_BM(_a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l) \
150 BM(_a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l),
151#else
152/* remove turbo-g channel info if turbo-g is not supported */
153#define CHAN_TURBO_G(a, b)
154#define CHAN_TURBO_G_BMZERO
155#define CHAN_TURBO_G_BM(_a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l)
156#endif
157
158#define BMLEN 2 /* Use 2 64 bit uint for channel bitmask
159 NB: Must agree with macro below (BM) */
160#define BMZERO {(uint64_t) 0, (uint64_t) 0} /* BMLEN zeros */
161
162#ifndef SUPPRESS_SHIFT_WARNING
163#define SUPPRESS_SHIFT_WARNING
164#endif
165
166/* Suppress MS warning "C4293: 'operator' : shift count negative or too big,
167 * undefined behavior"
168 * This is safe below because the the operand is properly range-checked, but
169 * the compiler can't reason that out before it spits the warning.
170 * Using suppress, so the warning can still be enabled globally to catch other
171 * incorrect uses.
172 */
173#define BM(_fa, _fb, _fc, _fd, _fe, _ff, _fg, _fh, _fi, _fj, _fk, _fl) \
174 SUPPRESS_SHIFT_WARNING \
175 {((((_fa >= 0) && (_fa < 64)) ? (((uint64_t) 1) << _fa) : (uint64_t) 0) | \
176 (((_fb >= 0) && (_fb < 64)) ? (((uint64_t) 1) << _fb) : (uint64_t) 0) | \
177 (((_fc >= 0) && (_fc < 64)) ? (((uint64_t) 1) << _fc) : (uint64_t) 0) | \
178 (((_fd >= 0) && (_fd < 64)) ? (((uint64_t) 1) << _fd) : (uint64_t) 0) | \
179 (((_fe >= 0) && (_fe < 64)) ? (((uint64_t) 1) << _fe) : (uint64_t) 0) | \
180 (((_ff >= 0) && (_ff < 64)) ? (((uint64_t) 1) << _ff) : (uint64_t) 0) | \
181 (((_fg >= 0) && (_fg < 64)) ? (((uint64_t) 1) << _fg) : (uint64_t) 0) | \
182 (((_fh >= 0) && (_fh < 64)) ? (((uint64_t) 1) << _fh) : (uint64_t) 0) | \
183 (((_fi >= 0) && (_fi < 64)) ? (((uint64_t) 1) << _fi) : (uint64_t) 0) | \
184 (((_fj >= 0) && (_fj < 64)) ? (((uint64_t) 1) << _fj) : (uint64_t) 0) | \
185 (((_fk >= 0) && (_fk < 64)) ? (((uint64_t) 1) << _fk) : (uint64_t) 0) | \
186 (((_fl >= 0) && (_fl < 64)) ? (((uint64_t) 1) << _fl) : (uint64_t) 0) ) \
187 ,(((((_fa > 63) && (_fa < 128)) ? (((uint64_t) 1) << (_fa - 64)) : (uint64_t) 0) | \
188 (((_fb > 63) && (_fb < 128)) ? (((uint64_t) 1) << (_fb - 64)) : (uint64_t) 0) | \
189 (((_fc > 63) && (_fc < 128)) ? (((uint64_t) 1) << (_fc - 64)) : (uint64_t) 0) | \
190 (((_fd > 63) && (_fd < 128)) ? (((uint64_t) 1) << (_fd - 64)) : (uint64_t) 0) | \
191 (((_fe > 63) && (_fe < 128)) ? (((uint64_t) 1) << (_fe - 64)) : (uint64_t) 0) | \
192 (((_ff > 63) && (_ff < 128)) ? (((uint64_t) 1) << (_ff - 64)) : (uint64_t) 0) | \
193 (((_fg > 63) && (_fg < 128)) ? (((uint64_t) 1) << (_fg - 64)) : (uint64_t) 0) | \
194 (((_fh > 63) && (_fh < 128)) ? (((uint64_t) 1) << (_fh - 64)) : (uint64_t) 0) | \
195 (((_fi > 63) && (_fi < 128)) ? (((uint64_t) 1) << (_fi - 64)) : (uint64_t) 0) | \
196 (((_fj > 63) && (_fj < 128)) ? (((uint64_t) 1) << (_fj - 64)) : (uint64_t) 0) | \
197 (((_fk > 63) && (_fk < 128)) ? (((uint64_t) 1) << (_fk - 64)) : (uint64_t) 0) | \
198 (((_fl > 63) && (_fl < 128)) ? (((uint64_t) 1) << (_fl - 64)) : (uint64_t) 0)))}
199
200/*
201 * THE following table is the mapping of regdomain pairs specified by
202 * an 8 bit regdomain value to the individual unitary reg domains
203 */
204
205typedef struct reg_dmn_pair_mapping {
206 uint16_t regDmnEnum; /* 16 bit reg domain pair */
207 uint16_t regDmn5GHz; /* 5GHz reg domain */
208 uint16_t regDmn2GHz; /* 2GHz reg domain */
209 uint32_t flags5GHz; /* Requirements flags (AdHoc
210 disallow, noise floor cal needed,
211 etc) */
212 uint32_t flags2GHz; /* Requirements flags (AdHoc
213 disallow, noise floor cal needed,
214 etc) */
215 uint64_t pscanMask; /* Passive Scan flags which
216 can override unitary domain
217 passive scan flags. This
218 value is used as a mask on
219 the unitary flags */
220 uint16_t singleCC; /* Country code of single country if
221 a one-on-one mapping exists */
222} REG_DMN_PAIR_MAPPING;
223
224typedef struct {
225 uint16_t countryCode;
226 uint16_t regDmnEnum;
227 const char *isoName;
228 const char *name;
229 uint16_t allow11g : 1, allow11aTurbo : 1, allow11gTurbo : 1, allow11ng20 : 1, /* HT-20 allowed in 2GHz? */
230 allow11ng40 : 1, /* HT-40 allowed in 2GHz? */
231 allow11na20 : 1, /* HT-20 allowed in 5GHz? */
232 allow11na40 : 1, /* HT-40 VHT-40 allowed in 5GHz? */
233 allow11na80 : 1; /* VHT-80 allowed in 5GHz */
234 uint16_t outdoorChanStart;
235} COUNTRY_CODE_TO_ENUM_RD;
236
237typedef struct RegDmnFreqBand {
238 uint16_t lowChannel; /* Low channel center in MHz */
239 uint16_t highChannel; /* High Channel center in MHz */
240 uint8_t powerDfs; /* Max power (dBm) for channel
241 range when using DFS */
242 uint8_t antennaMax; /* Max allowed antenna gain */
243 uint8_t channelBW; /* Bandwidth of the channel */
244 uint8_t channelSep; /* Channel separation within
245 the band */
246 uint64_t useDfs; /* Use DFS in the RegDomain
247 if corresponding bit is set */
248 uint64_t usePassScan; /* Use Passive Scan in the RegDomain
249 if corresponding bit is set */
250 uint8_t regClassId; /* Regulatory class id */
251} REG_DMN_FREQ_BAND;
252
253typedef struct reg_domain {
254 uint16_t regDmnEnum; /* value from EnumRd table */
255 uint8_t conformance_test_limit;
256 uint64_t dfsMask; /* DFS bitmask for 5Ghz tables */
257 uint64_t pscan; /* Bitmask for passive scan */
258 uint32_t flags; /* Requirement flags (AdHoc disallow, noise
259 floor cal needed, etc) */
260 uint64_t chan11a[BMLEN]; /* 128 bit bitmask for channel/band selection */
261 uint64_t chan11a_turbo[BMLEN]; /* 128 bit bitmask for channel/band select */
262 uint64_t chan11a_dyn_turbo[BMLEN]; /* 128 bit mask for chan/band select */
263
264 uint64_t chan11b[BMLEN]; /* 128 bit bitmask for channel/band selection */
265 uint64_t chan11g[BMLEN]; /* 128 bit bitmask for channel/band selection */
266 uint64_t chan11g_turbo[BMLEN];
267} REG_DOMAIN;
268
269struct cmode {
270 uint32_t mode;
271 uint32_t flags;
272};
273
274#define YES true
275#define NO false
276
277/* mapping of old skus to new skus for Japan */
278typedef struct {
279 uint16_t domain;
280 uint16_t newdomain_pre53; /* pre eeprom version 5.3 */
281 uint16_t newdomain_post53; /* post eeprom version 5.3 */
282} JAPAN_SKUMAP;
283
284/* mapping of countrycode to new skus for Japan */
285typedef struct {
286 uint16_t ccode;
287 uint16_t newdomain_pre53; /* pre eeprom version 5.3 */
288 uint16_t newdomain_post53; /* post eeprom version 5.3 */
289} JAPAN_COUNTRYMAP;
290
291/* check rd flags in eeprom for japan */
292typedef struct {
293 uint16_t freqbandbit;
294 uint32_t eepromflagtocheck;
295} JAPAN_BANDCHECK;
296
297/* Common mode power table for 5Ghz */
298typedef struct {
299 uint16_t lchan;
300 uint16_t hchan;
301 uint8_t pwrlvl;
302} COMMON_MODE_POWER;
303
304typedef enum {
305 COUNTRY_CODE_SET_BY_CORE,
306 COUNTRY_CODE_SET_BY_DRIVER,
307 COUNTRY_CODE_SET_BY_USER
308} COUNTRY_CODE_SOURCE;
309
310struct regulatory {
311 uint32_t reg_domain;
312 uint32_t eeprom_rd_ext;
313 uint16_t country_code;
314 uint8_t alpha2[3];
315 uint8_t dfs_region;
316 uint8_t ctl_2g;
317 uint8_t ctl_5g;
318 const void *regpair;
319 COUNTRY_CODE_SOURCE cc_src;
320 uint32_t reg_flags;
321};
322/* Multi-Device RegDomain Support */
323typedef struct ath_hal_reg_dmn_tables {
324 /* regDomainPairs: Map of 8-bit regdomain values to unitary reg domain */
325 const REG_DMN_PAIR_MAPPING *regDomainPairs;
326 /* allCountries: Master list of freq. bands (flags, settings) */
327 const COUNTRY_CODE_TO_ENUM_RD *allCountries;
328 /* regDomains: Array of supported reg domains */
329 const REG_DOMAIN *regDomains;
330
331 uint16_t regDomainPairsCt; /* Num reg domain pair entries */
332 uint16_t allCountriesCt; /* Num country entries */
333 uint16_t regDomainsCt; /* Num reg domain entries */
334} HAL_REG_DMN_TABLES;
335
336/*
337 * Country/Region Codes from MS WINNLS.H
338 * Numbering from ISO 3166
339 */
340/** @brief country code definitions
341 * - country definition: CTRY_DEBUG
342 * - country string: DB
343 * - country ID: 0
344 * - country definition: CTRY_DEFAULT
345 * - country string: NA
346 * - country ID: 0
347 * - country definition: CTRY_ALBANIA
348 * - country string: AL
349 * - country ID: 8
350 * - country definition: CTRY_ALGERIA
351 * - country string: DZ
352 * - country ID: 12
353 * - country definition: CTRY_ARGENTINA
354 * - country string: AR
355 * - country ID: 32
356 * - country definition: CTRY_ARMENIA
357 * - country string: AM
358 * - country ID: 51
359 * - country definition: CTRY_AUSTRALIA
360 * - country string: AU
361 * - country ID: 36
362 * - country definition: CTRY_AUSTRALIA2
363 * - country string: AU2
364 * - country ID: 5000
365 * - country definition: CTRY_AUSTRIA
366 * - country string: AT
367 * - country ID: 40
368 * - country definition: CTRY_AZERBAIJAN
369 * - country string: AZ
370 * - country ID: 31
371 * - country definition: CTRY_BAHAMAS
372 * - country string: BS
373 * - country ID: 44
374 * - country definition: CTRY_BAHRAIN
375 * - country string: BH
376 * - country ID: 48
377 * - country definition: CTRY_BELARUS
378 * - country string: BY
379 * - country ID: 112
380 * - country definition: CTRY_BELGIUM
381 * - country string: BE
382 * - country ID: 56
383 * - country definition: CTRY_BELIZE
384 * - country string: BZ
385 * - country ID: 84
386 * - country definition: CTRY_BERMUDA
387 * - country string: BM
388 * - country ID: 60
389 * - country definition: CTRY_BOLIVIA
390 * - country string: BO
391 * - country ID: 68
392 * - country definition: CTRY_BOSNIA_HERZEGOWINA
393 * - country string: 70
394 * - country ID: BA
395 * - country definition: CTRY_BRAZIL
396 * - country string: BR
397 * - country ID: 76
398 * - country definition: CTRY_BRUNEI_DARUSSALAM
399 * - country string: BN
400 * - country ID: 96
401 * - country definition: CTRY_BULGARIA
402 * - country string: BG
403 * - country ID: 100
404 * - country definition: CTRY_CANADA
405 * - country string: CA
406 * - country ID: 124
407 * - country definition: CTRY_CANADA2
408 * - country string: CA2
409 * - country ID: 5001
410 * - country definition: CTRY_CHILE
411 * - country string: CL
412 * - country ID: 152
413 * - country definition: CTRY_CHINA
414 * - country string: CN
415 * - country ID: 152
416 * - country definition: CTRY_COLOMBIA
417 * - country string: CO
418 * - country ID: 170
419 * - country definition: CTRY_COSTA_RICA
420 * - country string: CR
421 * - country ID: 191
422 * - country definition: CTRY_CROATIA
423 * - country string: HR
424 * - country ID: 191
425 * - country definition: CTRY_CYPRUS
426 * - country string: CY
427 * - country ID: 196
428 * - country definition: CTRY_CZECH
429 * - country string: CZ
430 * - country ID: 203
431 * - country definition: CTRY_DENMARK
432 * - country string: DK
433 * - country ID: 208
434 * - country definition: CTRY_DOMINICAN_REPUBLIC
435 * - country string: DO
436 * - country ID: 214
437 * - country definition: CTRY_ECUADOR
438 * - country string: EC
439 * - country ID: 218
440 * - country definition: CTRY_EGYPT
441 * - country string: EG
442 * - country ID: 818
443 * - country definition: CTRY_EL_SALVADOR
444 * - country string: SV
445 * - country ID: 222
446 * - country definition: CTRY_ESTONIA
447 * - country string: EE
448 * - country ID: 233
449 * - country definition: CTRY_FAEROE_ISLANDS
450 * - country string: FO
451 * - country ID: 234
452 * - country definition: CTRY_FINLAND
453 * - country string: FI
454 * - country ID: 246
455 * - country definition: CTRY_FRANCE
456 * - country string: FR
457 * - country ID: 250
458 * - country definition: CTRY_FRANCE2
459 * - country string: F2
460 * - country ID: 255
461 * - country definition: CTRY_GEORGIA
462 * - country string: GE
463 * - country ID: 268
464 * - country definition: CTRY_GERMANY
465 * - country string: DE
466 * - country ID: 276
467 * - country definition: CTRY_GREECE
468 * - country string: GR
469 * - country ID: 300
470 * - country definition: CTRY_GUATEMALA
471 * - country string: GT
472 * - country ID: 320
473 * - country definition: CTRY_HONDURAS
474 * - country string: HN
475 * - country ID: 340
476 * - country definition: CTRY_HONG_KONG
477 * - country string: HK
478 * - country ID: 344
479 * - country definition: CTRY_HUNGARY
480 * - country string: HU
481 * - country ID: 348
482 * - country definition: CTRY_ICELAND
483 * - country string: IS
484 * - country ID: 352
485 * - country definition: CTRY_INDIA
486 * - country string: IN
487 * - country ID: 356
488 * - country definition: CTRY_INDONESIA
489 * - country string: ID
490 * - country ID: 360
491 * - country definition: CTRY_IRAN
492 * - country string: IR
493 * - country ID: 364
494 * - country definition: CTRY_IRAQ
495 * - country string: IQ
496 * - country ID: 368
497 * - country definition: CTRY_IRELAND
498 * - country string: IE
499 * - country ID: 372
500 * - country definition: CTRY_ISRAEL
501 * - country string: IL
502 * - country ID: 376
503 * - country definition: CTRY_ITALY
504 * - country string: IT
505 * - country ID: 380
506 * - country definition: CTRY_JAMAICA
507 * - country string: JM
508 * - country ID: 388
509 * - country definition: CTRY_JAPAN
510 * - country string: JP
511 * - country ID: 392
512 * - country definition: CTRY_JAPAN1
513 * - country string: JP1
514 * - country ID: 393
515 * - country definition: CTRY_JAPAN2
516 * - country string: JP2
517 * - country ID: 394
518 * - country definition: CTRY_JAPAN3
519 * - country string: JP3
520 * - country ID: 395
521 * - country definition: CTRY_JAPAN4
522 * - country string: JP4
523 * - country ID: 396
524 * - country definition: CTRY_JAPAN5
525 * - country string: JP5
526 * - country ID: 397
527 * - country definition: CTRY_JAPAN6
528 * - country string: JP6
529 * - country ID: 399
530 * - country definition: CTRY_JAPAN7
531 * - country string: JP7
532 * - country ID: 4007
533 * - country definition: CTRY_JAPAN8
534 * - country string: JP8
535 * - country ID: 4008
536 * - country definition: CTRY_JAPAN9
537 * - country string: JP9
538 * - country ID: 4009
539 * - country definition: CTRY_JAPAN10
540 * - country string: JP10
541 * - country ID: 4010
542 * - country definition: CTRY_JAPAN11
543 * - country string: JP11
544 * - country ID: 4011
545 * - country definition: CTRY_JAPAN12
546 * - country string: JP12
547 * - country ID: 4012
548 * - country definition: CTRY_JAPAN13
549 * - country string: JP13
550 * - country ID: 4013
551 * - country definition: CTRY_JAPAN14
552 * - country string: JP14
553 * - country ID: 4014
554 * - country definition: CTRY_JAPAN15
555 * - country string: JP15
556 * - country ID: 4015
557 * - country definition: CTRY_JAPAN16
558 * - country string: JP16
559 * - country ID: 4016
560 * - country definition: CTRY_JAPAN17
561 * - country string: JP17
562 * - country ID: 4017
563 * - country definition: CTRY_JAPAN18
564 * - country string: JP18
565 * - country ID: 4018
566 * - country definition: CTRY_JAPAN19
567 * - country string: JP19
568 * - country ID: 4019
569 * - country definition: CTRY_JAPAN20
570 * - country string: JP20
571 * - country ID: 4020
572 * - country definition: CTRY_JAPAN21
573 * - country string: JP21
574 * - country ID: 4021
575 * - country definition: CTRY_JAPAN22
576 * - country string: JP22
577 * - country ID: 4022
578 * - country definition: CTRY_JAPAN23
579 * - country string: JP23
580 * - country ID: 4023
581 * - country definition: CTRY_JAPAN24
582 * - country string: JP24
583 * - country ID: 4024
584 * - country definition: CTRY_JAPAN25
585 * - country string: JP25
586 * - country ID: 4025
587 * - country definition: CTRY_JAPAN26
588 * - country string: JP26
589 * - country ID: 4026
590 * - country definition: CTRY_JAPAN27
591 * - country string: JP27
592 * - country ID: 4027
593 * - country definition: CTRY_JAPAN28
594 * - country string: JP28
595 * - country ID: 4028
596 * - country definition: CTRY_JAPAN29
597 * - country string: JP29
598 * - country ID: 4029
599 * - country definition: CTRY_JAPAN30
600 * - country string: JP30
601 * - country ID: 4030
602 * - country definition: CTRY_JAPAN31
603 * - country string: JP31
604 * - country ID: 4031
605 * - country definition: CTRY_JAPAN32
606 * - country string: JP32
607 * - country ID: 4032
608 * - country definition: CTRY_JAPAN33
609 * - country string: JP33
610 * - country ID: 4033
611 * - country definition: CTRY_JAPAN34
612 * - country string: JP34
613 * - country ID: 4034
614 * - country definition: CTRY_JAPAN35
615 * - country string: JP35
616 * - country ID: 4035
617 * - country definition: CTRY_JAPAN36
618 * - country string: JP36
619 * - country ID: 4036
620 * - country definition: CTRY_JAPAN37
621 * - country string: JP37
622 * - country ID: 4037
623 * - country definition: CTRY_JAPAN38
624 * - country string: JP38
625 * - country ID: 4038
626 * - country definition: CTRY_JAPAN39
627 * - country string: JP39
628 * - country ID: 4039
629 * - country definition: CTRY_JAPAN40
630 * - country string: JP40
631 * - country ID: 4040
632 * - country definition: CTRY_JAPAN41
633 * - country string: JP41
634 * - country ID: 4041
635 * - country definition: CTRY_JAPAN42
636 * - country string: JP42
637 * - country ID: 4042
638 * - country definition: CTRY_JAPAN43
639 * - country string: JP43
640 * - country ID: 4043
641 * - country definition: CTRY_JAPAN44
642 * - country string: JP44
643 * - country ID: 4044
644 * - country definition: CTRY_JAPAN45
645 * - country string: JP45
646 * - country ID: 4045
647 * - country definition: CTRY_JAPAN46
648 * - country string: JP46
649 * - country ID: 4046
650 * - country definition: CTRY_JAPAN47
651 * - country string: JP47
652 * - country ID: 4047
653 * - country definition: CTRY_JAPAN48
654 * - country string: JP48
655 * - country ID: 4048
656 * - country definition: CTRY_JAPAN49
657 * - country string: JP49
658 * - country ID: 4049
659 * - country definition: CTRY_JAPAN50
660 * - country string: JP50
661 * - country ID: 4050
662 * - country definition: CTRY_JAPAN51
663 * - country string: JP51
664 * - country ID: 4051
665 * - country definition: CTRY_JAPAN52
666 * - country string: JP52
667 * - country ID: 4052
668 * - country definition: CTRY_JAPAN53
669 * - country string: JP53
670 * - country ID: 4053
671 * - country definition: CTRY_JAPAN54
672 * - country string: JP54
673 * - country ID: 4054
674 * - country definition: CTRY_JAPAN55
675 * - country string: JP55
676 * - country ID: 4055
677 * - country definition: CTRY_JAPAN56
678 * - country string: JP56
679 * - country ID: 4056
680 * - country definition: CTRY_JORDAN
681 * - country string: JO
682 * - country ID: 400
683 * - country definition: CTRY_KAZAKHSTAN
684 * - country string: KZ
685 * - country ID: 398
686 * - country definition: CTRY_KENYA
687 * - country string: KE
688 * - country ID: 404
689 * - country definition: CTRY_KOREA_NORTH
690 * - country string: KP
691 * - country ID: 408
692 * - country definition: CTRY_KOREA_ROC
693 * - country string: KR
694 * - country ID: 410
695 * - country definition: CTRY_KOREA_ROC2
696 * - country string: KR2
697 * - country ID: 411
698 * - country definition: CTRY_KOREA_ROC3
699 * - country string: KR3
700 * - country ID: 412
701 * - country definition: CTRY_KUWAIT
702 * - country string: KW
703 * - country ID: 414
704 * - country definition: CTRY_LATVIA
705 * - country string: LV
706 * - country ID: 428
707 * - country definition: CTRY_LEBANON
708 * - country string: LB
709 * - country ID: 422
710 * - country definition: CTRY_LIBYA
711 * - country string: LY
712 * - country ID: 434
713 * - country definition: CTRY_LIECHTENSTEIN
714 * - country string: LI
715 * - country ID: 438
716 * - country definition: CTRY_LITHUANIA
717 * - country string: LT
718 * - country ID: 440
719 * - country definition: CTRY_LUXEMBOURG
720 * - country string: LU
721 * - country ID: 442
722 * - country definition: CTRY_MACAU
723 * - country string: MO
724 * - country ID: 446
725 * - country definition: CTRY_MACEDONIA
726 * - country string: MK
727 * - country ID: 807
728 * - country definition: CTRY_MALAYSIA
729 * - country string: MY
730 * - country ID: 458
731 * - country definition: CTRY_MALTA
732 * - country string: MT
733 * - country ID: 470
734 * - country definition: CTRY_MAURITIUS
735 * - country string: MU
736 * - country ID: 480
737 * - country definition: CTRY_MEXICO
738 * - country string: MX
739 * - country ID: 484
740 * - country definition: CTRY_MONACO
741 * - country string: MC
742 * - country ID: 492
743 * - country definition: CTRY_MOROCCO
744 * - country string: MA
745 * - country ID: 504
746 * - country definition: CTRY_NETHERLANDS
747 * - country string: NL
748 * - country ID: 528
749 * - country definition: CTRY_NEW_ZEALAND
750 * - country string: NZ
751 * - country ID: 554
752 * - country definition: CTRY_NICARAGUA
753 * - country string: NI
754 * - country ID: 558
755 * - country definition: CTRY_NORWAY
756 * - country string: NO
757 * - country ID: 578
758 * - country definition: CTRY_OMAN
759 * - country string: OM
760 * - country ID: 512
761 * - country definition: CTRY_PAKISTAN
762 * - country string: PK
763 * - country ID: 586
764 * - country definition: CTRY_PANAMA
765 * - country string: PA
766 * - country ID: 591
767 * - country definition: CTRY_PARAGUAY
768 * - country string: PY
769 * - country ID: 600
770 * - country definition: CTRY_PERU
771 * - country string: PE
772 * - country ID: 604
773 * - country definition: CTRY_PHILIPPINES
774 * - country string: PH
775 * - country ID: 608
776 * - country definition: CTRY_POLAND
777 * - country string: PL
778 * - country ID: 616
779 * - country definition: CTRY_PORTUGAL
780 * - country string: PT
781 * - country ID: 620
782 * - country definition: CTRY_PUERTO_RICO
783 * - country string: PR
784 * - country ID: 630
785 * - country definition: CTRY_QATAR
786 * - country string: QA
787 * - country ID: 634
788 * - country definition: CTRY_ROMANIA
789 * - country string: RO
790 * - country ID: 642
791 * - country definition: CTRY_RUSSIA
792 * - country string: RU
793 * - country ID: 643
794 * - country definition: CTRY_SAUDI_ARABIA
795 * - country string: SA
796 * - country ID: 682
797 * - country definition: CTRY_SERBIA
798 * - country string: RS
799 * - country ID: 688
800 * - country definition: CTRY_MONTENEGRO
801 * - country string: ME
802 * - country ID: 499
803 * - country definition: CTRY_SINGAPORE
804 * - country string: SG
805 * - country ID: 702
806 * - country definition: CTRY_SLOVAKIA
807 * - country string: SK
808 * - country ID: 703
809 * - country definition: CTRY_SLOVENIA
810 * - country string: SI
811 * - country ID: 705
812 * - country definition: CTRY_SOUTH_AFRICA
813 * - country string: ZA
814 * - country ID: 710
815 * - country definition: CTRY_SPAIN
816 * - country string: ES
817 * - country ID: 724
818 * - country definition: CTRY_SRI_LANKA
819 * - country string: LK
820 * - country ID: 144
821 * - country definition: CTRY_SWEDEN
822 * - country string: SE
823 * - country ID: 752
824 * - country definition: CTRY_SWITZERLAND
825 * - country string: CH
826 * - country ID: 756
827 * - country definition: CTRY_SYRIA
828 * - country string: SY
829 * - country ID: 760
830 * - country definition: CTRY_TAIWAN
831 * - country string: TW
832 * - country ID: 158
833 * - country definition: CTRY_TANZANIA
834 * - country string: TZ
835 * - country ID: 834
836 * - country definition: CTRY_THAILAND
837 * - country string: TH
838 * - country ID: 764
839 * - country definition: CTRY_TRINIDAD_Y_TOBAGO
840 * - country string: TT
841 * - country ID: 780
842 * - country definition: CTRY_TUNISIA
843 * - country string: TN
844 * - country ID: 788
845 * - country definition: CTRY_TURKEY
846 * - country string: TR
847 * - country ID: 792
848 * - country definition: CTRY_UAE
849 * - country string: AE
850 * - country ID: 784
851 * - country definition: CTRY_UKRAINE
852 * - country string: UA
853 * - country ID: 804
854 * - country definition: CTRY_UNITED_KINGDOM
855 * - country string: GB
856 * - country ID: 826
857 * - country definition: CTRY_UNITED_STATES
858 * - country string: US
859 * - country ID: 840
860 * - country definition: CTRY_UNITED_STATES_FCC49
861 * - country string: US
862 * - country ID: 842
863 * - country definition: CTRY_URUGUAY
864 * - country string: UY
865 * - country ID: 858
866 * - country definition: CTRY_UZBEKISTAN
867 * - country string: UZ
868 * - country ID: 860
869 * - country definition: CTRY_VENEZUELA
870 * - country string: VE
871 * - country ID: 862
872 * - country definition: CTRY_VIET_NAM
873 * - country string: VN
874 * - country ID: 704
875 * - country definition: CTRY_YEMEN
876 * - country string: YE
877 * - country ID: 887
878 * - country definition: CTRY_ZIMBABWE
879 * - country string: ZW
880 * - country ID: 716
881 */
882enum CountryCode {
883 CTRY_ALBANIA = 8, /* Albania */
884 CTRY_ALGERIA = 12, /* Algeria */
885 CTRY_ARGENTINA = 32, /* Argentina */
886 CTRY_ARMENIA = 51, /* Armenia */
887 CTRY_AUSTRALIA = 36, /* Australia */
888 CTRY_AUSTRIA = 40, /* Austria */
889 CTRY_AZERBAIJAN = 31, /* Azerbaijan */
890 CTRY_BAHAMAS = 44, /* Bahamas */
891 CTRY_BAHRAIN = 48, /* Bahrain */
892 CTRY_BANGLADESH = 50, /* Bangladesh */
893 CTRY_BARBADOS = 52, /* Barbados */
894 CTRY_BELARUS = 112, /* Belarus */
895 CTRY_BELGIUM = 56, /* Belgium */
896 CTRY_BELIZE = 84, /* Belize */
897 CTRY_BERMUDA = 60, /* Berumuda */
898 CTRY_BOLIVIA = 68, /* Bolivia */
899 CTRY_BOSNIA_HERZ = 70, /* Bosnia and Herzegowina */
900 CTRY_BRAZIL = 76, /* Brazil */
901 CTRY_BRUNEI_DARUSSALAM = 96, /* Brunei Darussalam */
902 CTRY_BULGARIA = 100, /* Bulgaria */
903 CTRY_CAMBODIA = 116, /* Cambodia */
904 CTRY_CANADA = 124, /* Canada */
905 CTRY_CHILE = 152, /* Chile */
906 CTRY_CHINA = 156, /* People's Republic of China */
907 CTRY_COLOMBIA = 170, /* Colombia */
908 CTRY_COSTA_RICA = 188, /* Costa Rica */
909 CTRY_CROATIA = 191, /* Croatia */
910 CTRY_CYPRUS = 196,
911 CTRY_CZECH = 203, /* Czech Republic */
912 CTRY_DENMARK = 208, /* Denmark */
913 CTRY_DOMINICAN_REPUBLIC = 214, /* Dominican Republic */
914 CTRY_ECUADOR = 218, /* Ecuador */
915 CTRY_EGYPT = 818, /* Egypt */
916 CTRY_EL_SALVADOR = 222, /* El Salvador */
917 CTRY_ESTONIA = 233, /* Estonia */
918 CTRY_FAEROE_ISLANDS = 234, /* Faeroe Islands */
919 CTRY_FINLAND = 246, /* Finland */
920 CTRY_FRANCE = 250, /* France */
921 CTRY_GEORGIA = 268, /* Georgia */
922 CTRY_GERMANY = 276, /* Germany */
923 CTRY_GREECE = 300, /* Greece */
924 CTRY_GREENLAND = 304, /* Greenland */
925 CTRY_GRENADA = 308, /* Grenada */
926 CTRY_GUAM = 316, /* Guam */
927 CTRY_GUATEMALA = 320, /* Guatemala */
928 CTRY_HAITI = 332, /* Haiti */
929 CTRY_HONDURAS = 340, /* Honduras */
930 CTRY_HONG_KONG = 344, /* Hong Kong S.A.R., P.R.C. */
931 CTRY_HUNGARY = 348, /* Hungary */
932 CTRY_ICELAND = 352, /* Iceland */
933 CTRY_INDIA = 356, /* India */
934 CTRY_INDONESIA = 360, /* Indonesia */
935 CTRY_IRAN = 364, /* Iran */
936 CTRY_IRAQ = 368, /* Iraq */
937 CTRY_IRELAND = 372, /* Ireland */
938 CTRY_ISRAEL = 376, /* Israel */
939 CTRY_ITALY = 380, /* Italy */
940 CTRY_JAMAICA = 388, /* Jamaica */
941 CTRY_JAPAN = 392, /* Japan */
942 CTRY_JORDAN = 400, /* Jordan */
943 CTRY_KAZAKHSTAN = 398, /* Kazakhstan */
944 CTRY_KENYA = 404, /* Kenya */
945 CTRY_KOREA_NORTH = 408, /* North Korea */
946 CTRY_KOREA_ROC = 410, /* South Korea */
947 CTRY_KOREA_ROC3 = 412, /* South Korea */
948 CTRY_KUWAIT = 414, /* Kuwait */
949 CTRY_LATVIA = 428, /* Latvia */
950 CTRY_LEBANON = 422, /* Lebanon */
951 CTRY_LIBYA = 434, /* Libya */
952 CTRY_LIECHTENSTEIN = 438, /* Liechtenstein */
953 CTRY_LITHUANIA = 440, /* Lithuania */
954 CTRY_LUXEMBOURG = 442, /* Luxembourg */
955 CTRY_MACAU = 446, /* Macau SAR */
956 CTRY_MACEDONIA = 807, /* the Former Yugoslav Republic of Macedonia */
957 CTRY_MALAYSIA = 458, /* Malaysia */
958 CTRY_MALDIVES = 462, /* Maldives */
959 CTRY_MALTA = 470, /* Malta */
960 CTRY_MAURITIUS = 480, /* Mauritius */
961 CTRY_MEXICO = 484, /* Mexico */
962 CTRY_MONACO = 492, /* Principality of Monaco */
963 CTRY_MOROCCO = 504, /* Morocco */
964 CTRY_NEPAL = 524, /* Nepal */
965 CTRY_NETHERLANDS = 528, /* Netherlands */
966 CTRY_NETHERLANDS_ANTILLES = 530, /* Netherlands-Antilles */
967 CTRY_ARUBA = 533, /* Aruba */
968 CTRY_NEW_ZEALAND = 554, /* New Zealand */
969 CTRY_NICARAGUA = 558, /* Nicaragua */
970 CTRY_NORWAY = 578, /* Norway */
971 CTRY_OMAN = 512, /* Oman */
972 CTRY_PAKISTAN = 586, /* Islamic Republic of Pakistan */
973 CTRY_PANAMA = 591, /* Panama */
974 CTRY_PAPUA_NEW_GUINEA = 598, /* Papua New Guinea */
975 CTRY_PARAGUAY = 600, /* Paraguay */
976 CTRY_PERU = 604, /* Peru */
977 CTRY_PHILIPPINES = 608, /* Republic of the Philippines */
978 CTRY_POLAND = 616, /* Poland */
979 CTRY_PORTUGAL = 620, /* Portugal */
980 CTRY_PUERTO_RICO = 630, /* Puerto Rico */
981 CTRY_QATAR = 634, /* Qatar */
982 CTRY_ROMANIA = 642, /* Romania */
983 CTRY_RUSSIA = 643, /* Russia */
984 CTRY_RWANDA = 646, /* Rwanda */
985 CTRY_SAUDI_ARABIA = 682, /* Saudi Arabia */
986 CTRY_SERBIA = 688, /* Republic of Serbia */
987 CTRY_MONTENEGRO = 499, /* Montenegro */
988 CTRY_SINGAPORE = 702, /* Singapore */
989 CTRY_SLOVAKIA = 703, /* Slovak Republic */
990 CTRY_SLOVENIA = 705, /* Slovenia */
991 CTRY_SOUTH_AFRICA = 710, /* South Africa */
992 CTRY_SPAIN = 724, /* Spain */
993 CTRY_SRI_LANKA = 144, /* Sri Lanka */
994 CTRY_SWEDEN = 752, /* Sweden */
995 CTRY_SWITZERLAND = 756, /* Switzerland */
996 CTRY_SYRIA = 760, /* Syria */
997 CTRY_TAIWAN = 158, /* Taiwan */
998 CTRY_TANZANIA = 834, /* Tanzania */
999 CTRY_THAILAND = 764, /* Thailand */
1000 CTRY_TRINIDAD_Y_TOBAGO = 780, /* Trinidad y Tobago */
1001 CTRY_TUNISIA = 788, /* Tunisia */
1002 CTRY_TURKEY = 792, /* Turkey */
1003 CTRY_UAE = 784, /* U.A.E. */
1004 CTRY_UGANDA = 800, /* Uganda */
1005 CTRY_UKRAINE = 804, /* Ukraine */
1006 CTRY_UNITED_KINGDOM = 826, /* United Kingdom */
1007 CTRY_UNITED_STATES = 840, /* United States */
1008 CTRY_UNITED_STATES2 = 841, /* United States for AP */
1009 CTRY_UNITED_STATES_FCC49 = 842, /* United States (Public Safety) */
1010 CTRY_URUGUAY = 858, /* Uruguay */
1011 CTRY_UZBEKISTAN = 860, /* Uzbekistan */
1012 CTRY_VENEZUELA = 862, /* Venezuela */
1013 CTRY_VIET_NAM = 704, /* Viet Nam */
1014 CTRY_YEMEN = 887, /* Yemen */
1015 CTRY_ZIMBABWE = 716, /* Zimbabwe */
1016
1017 /*
1018 ** Japan special codes. Boy, do they have a lot
1019 */
1020
1021 CTRY_JAPAN1 = 393, /* Japan (JP1) */
1022 CTRY_JAPAN2 = 394, /* Japan (JP0) */
1023 CTRY_JAPAN3 = 395, /* Japan (JP1-1) */
1024 CTRY_JAPAN4 = 396, /* Japan (JE1) */
1025 CTRY_JAPAN5 = 397, /* Japan (JE2) */
1026 CTRY_JAPAN6 = 4006, /* Japan (JP6) */
1027 CTRY_JAPAN7 = 4007, /* Japan (J7) */
1028 CTRY_JAPAN8 = 4008, /* Japan (J8) */
1029 CTRY_JAPAN9 = 4009, /* Japan (J9) */
1030 CTRY_JAPAN10 = 4010, /* Japan (J10) */
1031 CTRY_JAPAN11 = 4011, /* Japan (J11) */
1032 CTRY_JAPAN12 = 4012, /* Japan (J12) */
1033 CTRY_JAPAN13 = 4013, /* Japan (J13) */
1034 CTRY_JAPAN14 = 4014, /* Japan (J14) */
1035 CTRY_JAPAN15 = 4015, /* Japan (J15) */
1036 CTRY_JAPAN16 = 4016, /* Japan (J16) */
1037 CTRY_JAPAN17 = 4017, /* Japan (J17) */
1038 CTRY_JAPAN18 = 4018, /* Japan (J18) */
1039 CTRY_JAPAN19 = 4019, /* Japan (J19) */
1040 CTRY_JAPAN20 = 4020, /* Japan (J20) */
1041 CTRY_JAPAN21 = 4021, /* Japan (J21) */
1042 CTRY_JAPAN22 = 4022, /* Japan (J22) */
1043 CTRY_JAPAN23 = 4023, /* Japan (J23) */
1044 CTRY_JAPAN24 = 4024, /* Japan (J24) */
1045 CTRY_JAPAN25 = 4025, /* Japan (J25) */
1046 CTRY_JAPAN26 = 4026, /* Japan (J26) */
1047 CTRY_JAPAN27 = 4027, /* Japan (J27) */
1048 CTRY_JAPAN28 = 4028, /* Japan (J28) */
1049 CTRY_JAPAN29 = 4029, /* Japan (J29) */
1050 CTRY_JAPAN30 = 4030, /* Japan (J30) */
1051 CTRY_JAPAN31 = 4031, /* Japan (J31) */
1052 CTRY_JAPAN32 = 4032, /* Japan (J32) */
1053 CTRY_JAPAN33 = 4033, /* Japan (J33) */
1054 CTRY_JAPAN34 = 4034, /* Japan (J34) */
1055 CTRY_JAPAN35 = 4035, /* Japan (J35) */
1056 CTRY_JAPAN36 = 4036, /* Japan (J36) */
1057 CTRY_JAPAN37 = 4037, /* Japan (J37) */
1058 CTRY_JAPAN38 = 4038, /* Japan (J38) */
1059 CTRY_JAPAN39 = 4039, /* Japan (J39) */
1060 CTRY_JAPAN40 = 4040, /* Japan (J40) */
1061 CTRY_JAPAN41 = 4041, /* Japan (J41) */
1062 CTRY_JAPAN42 = 4042, /* Japan (J42) */
1063 CTRY_JAPAN43 = 4043, /* Japan (J43) */
1064 CTRY_JAPAN44 = 4044, /* Japan (J44) */
1065 CTRY_JAPAN45 = 4045, /* Japan (J45) */
1066 CTRY_JAPAN46 = 4046, /* Japan (J46) */
1067 CTRY_JAPAN47 = 4047, /* Japan (J47) */
1068 CTRY_JAPAN48 = 4048, /* Japan (J48) */
1069 CTRY_JAPAN49 = 4049, /* Japan (J49) */
1070 CTRY_JAPAN50 = 4050, /* Japan (J50) */
1071 CTRY_JAPAN51 = 4051, /* Japan (J51) */
1072 CTRY_JAPAN52 = 4052, /* Japan (J52) */
1073 CTRY_JAPAN53 = 4053, /* Japan (J53) */
1074 CTRY_JAPAN54 = 4054, /* Japan (J54) */
1075 CTRY_JAPAN55 = 4055, /* Japan (J55) */
1076 CTRY_JAPAN56 = 4056, /* Japan (J56) */
1077 CTRY_JAPAN57 = 4057, /* Japan (J57) */
1078 CTRY_JAPAN58 = 4058, /* Japan (J58) */
1079 CTRY_JAPAN59 = 4059, /* Japan (J59) */
1080
1081 /*
1082 ** "Special" codes for multiply defined countries, with the exception
1083 ** of Japan and US.
1084 */
1085
1086 CTRY_AUSTRALIA2 = 5000, /* Australia for AP only */
1087 CTRY_CANADA2 = 5001, /* Canada for AP only */
1088 CTRY_BELGIUM2 = 5002 /* Belgium/Cisco implementation */
1089};
1090
1091int32_t cds_fill_some_regulatory_info(struct regulatory *reg);
1092void cds_fill_and_send_ctl_to_fw(struct regulatory *reg);
1093int32_t cds_get_country_from_alpha2(uint8_t *alpha2);
1094void cds_fill_send_ctl_info_to_fw(struct regulatory *reg, uint32_t modesAvail,
1095 uint32_t modeSelect);
1096void cds_set_wma_dfs_region(struct regulatory *reg);
1097
1098#endif /* REGULATORY_H */