1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     cfg_CountryCode.h
4 
5   Copyright (C) 2009-2012 Nintendo. All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law.  They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Rev: 27772 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_CFG_CTR_CFG_COUNTRY_CODE_H_
17 #define NN_CFG_CTR_CFG_COUNTRY_CODE_H_
18 
19 namespace nn {
20 namespace cfg {
21 namespace CTR {
22 
23 /*!
24     @brief   Enumerated type that represents country and region codes.
25 */
26 enum CfgCountryCode
27 {
28     CFG_COUNTRY_UNDEFINED   = 0,        //!< None.
29 
30     // JPN region
31     CFG_COUNTRY_JAPAN       = 1,        //!< Japan
32 
33     // USA region
34     CFG_COUNTRY_ANGUILLA    = 8,        //!< Anguilla
35     CFG_COUNTRY_ANTIGUA_AND_BARBUDA,    //!< Antigua and Barbuda
36     CFG_COUNTRY_ARGENTINA   = 10,       //!< Argentina
37     CFG_COUNTRY_ARUBA,                  //!< Aruba
38     CFG_COUNTRY_BAHAMAS,                //!< The Bahamas
39     CFG_COUNTRY_BARBADOS,               //!< Barbados
40     CFG_COUNTRY_BELIZE,                 //!< Belize
41     CFG_COUNTRY_BOLIVIA,                //!< Bolivia
42     CFG_COUNTRY_BRAZIL,                 //!< Brazil
43     CFG_COUNTRY_BRITISH_VIRGIN_ISLANDS, //!< The British Virgin Islands
44     CFG_COUNTRY_CANADA,                 //!< Canada
45     CFG_COUNTRY_CAYMAN_ISLANDS,         //!< The Cayman Islands
46     CFG_COUNTRY_CHILE       = 20,       //!< Chile
47     CFG_COUNTRY_COLOMBIA,               //!< Colombia
48     CFG_COUNTRY_COSTA_RICA,             //!< Costa Rica
49     CFG_COUNTRY_DOMINICA,               //!< Dominica
50     CFG_COUNTRY_DOMINICAN_REPUBLIC,     //!< The Dominican Republic
51     CFG_COUNTRY_ECUADOR,                //!< Ecuador
52     CFG_COUNTRY_EL_SALVADOR,            //!< El Salvador
53     CFG_COUNTRY_FRENCH_GUIANA,          //!< French Guiana
54     CFG_COUNTRY_GRENADA,                //!< Grenada
55     CFG_COUNTRY_GUADELOUPE,             //!< Guadeloupe
56     CFG_COUNTRY_GUATEMALA   = 30,       //!< Guatemala
57     CFG_COUNTRY_GUYANA,                 //!< Guyana
58     CFG_COUNTRY_HAITI,                  //!< Haiti
59     CFG_COUNTRY_HONDURAS,               //!< Honduras
60     CFG_COUNTRY_JAMAICA,                //!< Jamaica
61     CFG_COUNTRY_MARTINIQUE,             //!< Martinique
62     CFG_COUNTRY_MEXICO,                 //!< Mexico
63     CFG_COUNTRY_MONTSERRAT,             //!< Montserrat
64     CFG_COUNTRY_NETHERLANDS_ANTILLES,   //!< The Netherlands Antilles
65     CFG_COUNTRY_NICARAGUA,              //!< Nicaragua
66     CFG_COUNTRY_PANAMA      = 40,       //!< Panama
67     CFG_COUNTRY_PARAGUAY,               //!< Paraguay
68     CFG_COUNTRY_PERU,                   //!< Peru
69     CFG_COUNTRY_ST_KITTS_AND_NEVIS,     //!< Saint Kitts and Nevis
70     CFG_COUNTRY_ST_LUCIA,               //!< Saint Lucia
71     CFG_COUNTRY_ST_VINCENT_AND_THE_GRENADINES,  //!< Saint Vincent and the Grenadines
72     CFG_COUNTRY_SURINAME,               //!< Suriname
73     CFG_COUNTRY_TRINIDAD_AND_TOBAGO,    //!< Trinidad and Tobago
74     CFG_COUNTRY_TURKS_AND_CAICOS_ISLANDS,   //!< The Turks and Caicos Islands
75     CFG_COUNTRY_UNITED_STATES,          //!< United States
76     CFG_COUNTRY_URUGUAY     = 50,       //!< Uruguay
77     CFG_COUNTRY_US_VIRGIN_ISLANDS,      //!< The United States Virgin Islands
78     CFG_COUNTRY_VENEZUELA,              //!< Venezuela
79 
80     // EUR and NAL regions
81     CFG_COUNTRY_ALBANIA     = 64,       //!< Albania
82     CFG_COUNTRY_AUSTRALIA,              //!< Australia
83     CFG_COUNTRY_AUSTRIA,                //!< Austria
84     CFG_COUNTRY_BELGIUM,                //!< Belgium
85     CFG_COUNTRY_BOSNIA_AND_HERZEGOVINA, //!< Bosnia and Herzegovina
86     CFG_COUNTRY_BOTSWANA,               //!< Botswana
87     CFG_COUNTRY_BULGARIA    = 70,       //!< Bulgaria
88     CFG_COUNTRY_CROATIA,                //!< Croatia
89     CFG_COUNTRY_CYPRUS,                 //!< Cyprus
90     CFG_COUNTRY_CZECH_REPUBLIC,         //!< The Czech Republic
91     CFG_COUNTRY_DENMARK,                //!< Denmark
92     CFG_COUNTRY_ESTONIA,                //!< Estonia
93     CFG_COUNTRY_FINLAND,                //!< Finland
94     CFG_COUNTRY_FRANCE,                 //!< France
95     CFG_COUNTRY_GERMANY,                //!< Germany
96     CFG_COUNTRY_GREECE,                 //!< Greece
97     CFG_COUNTRY_HUNGARY     = 80,       //!< Hungary
98     CFG_COUNTRY_ICELAND,                //!< Iceland
99     CFG_COUNTRY_IRELAND,                //!< Ireland
100     CFG_COUNTRY_ITALY,                  //!< Italy
101     CFG_COUNTRY_LATVIA,                 //!< Latvia
102     CFG_COUNTRY_LESOTHO,                //!< Lesotho
103     CFG_COUNTRY_LIECHTENSTEIN,          //!< Liechtenstein
104     CFG_COUNTRY_LITHUANIA,              //!< Lithuania
105     CFG_COUNTRY_LUXEMBOURG,             //!< Luxembourg
106     CFG_COUNTRY_MACEDONIA,              //!< Macedonia
107     CFG_COUNTRY_MALTA       = 90,       //!< Malta
108     CFG_COUNTRY_MONTENEGRO,             //!< Montenegro
109     CFG_COUNTRY_MOZAMBIQUE,             //!< Mozambique
110     CFG_COUNTRY_NAMIBIA,                //!< Namibia
111     CFG_COUNTRY_NETHERLANDS,            //!< Netherlands
112     CFG_COUNTRY_NEW_ZEALAND,            //!< New Zealand
113     CFG_COUNTRY_NORWAY,                 //!< Norway
114     CFG_COUNTRY_POLAND,                 //!< Poland
115     CFG_COUNTRY_PORTUGAL,               //!< Portugal
116     CFG_COUNTRY_ROMANIA,                //!< Romania
117     CFG_COUNTRY_RUSSIA      = 100,      //!< Russia
118     CFG_COUNTRY_SERBIA,                 //!< Serbia
119     CFG_COUNTRY_SLOVAKIA,               //!< Slovakia
120     CFG_COUNTRY_SLOVENIA,               //!< Slovenia
121     CFG_COUNTRY_SOUTH_AFRICA,           //!< South Africa
122     CFG_COUNTRY_SPAIN,                  //!< Spain
123     CFG_COUNTRY_SWAZILAND,              //!< Swaziland
124     CFG_COUNTRY_SWEDEN,                 //!< Sweden
125     CFG_COUNTRY_SWITZERLAND,            //!< Switzerland
126     CFG_COUNTRY_TURKEY,                 //!< Turkey
127     CFG_COUNTRY_UNITED_KINGDOM = 110,   //!< England
128     CFG_COUNTRY_ZAMBIA,                 //!< Zambia
129     CFG_COUNTRY_ZIMBABWE,               //!< Zimbabwe
130     CFG_COUNTRY_AZERBAIJAN,             //!< Azerbaijan
131     CFG_COUNTRY_MAURITANIA,             //!< Mauritania
132     CFG_COUNTRY_MALI,                   //!< Mali
133     CFG_COUNTRY_NIGER,                  //!< Niger
134     CFG_COUNTRY_CHAD,                   //!< Chad
135     CFG_COUNTRY_SUDAN,                  //!< Sudan
136     CFG_COUNTRY_ERITREA,                //!< Eritrea
137     CFG_COUNTRY_DJIBOUTI    = 120,      //!< Djibouti
138     CFG_COUNTRY_SOMALIA,                //!< Somalia
139     CFG_COUNTRY_ANDORRA,                //!< Andorra
140     CFG_COUNTRY_GIBRALTAR,              //!< Gibraltar
141     CFG_COUNTRY_GUERNSEY,               //!< Guernsey
142     CFG_COUNTRY_ISLE_OF_MAN,            //!< Isle of Man
143     CFG_COUNTRY_JERSEY,                 //!< Jersey
144     CFG_COUNTRY_MONACO,                 //!< Monaco
145 
146     // TWN region
147     CFG_COUNTRY_TAIWAN      = 128,      //!< Taiwan
148 
149     // KOR region
150     CFG_COUNTRY_SOUTH_KOREA = 136,      //!< Korea
151 
152     // HKG region
153     CFG_COUNTRY_HONG_KONG   = 144,      //!< Hong Kong
154     CFG_COUNTRY_MACAU,                  //!< Macau
155 
156     // ASI region
157     CFG_COUNTRY_INDONESIA   = 152,      //!< Indonesia
158 
159     // USA region
160     CFG_COUNTRY_SINGAPORE   = 153,      //!< Singapore
161 
162     // ASI region (repeat)
163     CFG_COUNTRY_THAILAND    = 154,      //!< Thailand
164     CFG_COUNTRY_PHILIPPINES,            //!< Philippines
165 
166     // USA region
167     CFG_COUNTRY_MALAYSIA    = 156,      //!< Malaysia
168 
169     // CHN region
170     CFG_COUNTRY_CHINA       = 160,      //!< China
171 
172     // USA region
173     CFG_COUNTRY_UAE         = 168,      //!< United Arab Emirates
174 
175     // EUR region
176     CFG_COUNTRY_INDIA       = 169,      //!< India
177 
178     // Undefined region
179     CFG_COUNTRY_EGYPT       = 170,      //!< Egypt
180     CFG_COUNTRY_OMAN,                   //!< Oman
181     CFG_COUNTRY_QATAR,                  //!< Qatar
182     CFG_COUNTRY_KUWAIT,                 //!< Kuwait
183 
184     // USA region
185     CFG_COUNTRY_SAUDI_ARABIA = 174,     //!< Saudi Arabia
186 
187     // Undefined region
188     CFG_COUNTRY_SYRIA       = 175,      //!< Syria
189     CFG_COUNTRY_BAHRAIN,                //!< Bahrain
190     CFG_COUNTRY_JORDAN,                 //!< Jordan
191 
192     // EUR region
193     CFG_COUNTRY_SAN_MARINO  = 184,      //!< San Marino
194     CFG_COUNTRY_VATICAN_CITY,           //!< Vatican City
195 
196     CFG_COUNTRY_OTHERS      = 254,      //!< Other
197     CFG_COUNTRY_UNKNOWN     = 255,      //!< Unknown
198 
199     CFG_COUNTRY_MAX
200 };
201 
202 } // end of namespace CTR
203 } // end of namespace cfg
204 } // end of namespace nn
205 
206 // Corresponding country code. Combines into a single value by shifting left 16 bits for the start position and ORing by the end position.
207 #define CFG_COUNTRY_MAPPING_JAPAN      (u32)( CFG_COUNTRY_JAPAN << 16       | CFG_COUNTRY_JAPAN )       //!< Country code for Japan.
208 #define CFG_COUNTRY_MAPPING_AMERICA    (u32)( CFG_COUNTRY_ANGUILLA << 16    | CFG_COUNTRY_VENEZUELA )   //!< Country codes for Americas (AME).
209 #define CFG_COUNTRY_MAPPING_EUROPE     (u32)( CFG_COUNTRY_ALBANIA << 16     | CFG_COUNTRY_MONACO )      //!< Country code for Europe (EUR).
210 #define CFG_COUNTRY_MAPPING_AUSTRALIA  (u32)( CFG_COUNTRY_ALBANIA << 16     | CFG_COUNTRY_MONACO )      //!< Country codes for Australia (AUS).
211 #define CFG_COUNTRY_MAPPING_CHINA      (u32)( CFG_COUNTRY_CHINA << 16       | CFG_COUNTRY_CHINA )       //!< Country codes for China (CHI).
212 #define CFG_COUNTRY_MAPPING_KOREA      (u32)( CFG_COUNTRY_SOUTH_KOREA << 16 | CFG_COUNTRY_SOUTH_KOREA ) //!< Country codes for Korea (KOR).
213 
214 #endif      // NN_CFG_CTR_CFG_COUNTRY_CODE_H_
215