Leaked source code of windows server 2003
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.
 
 
 
 
 
 

290 lines
11 KiB

// Copyright (c) 1998 - 1999 Microsoft Corporation. All Rights Reserved.
#ifndef __ISO3166_H
#define __ISO3166_H
char DVDToUpper(char x)
{
if('a' <= x && x <= 'z') {
return x - ('a' - 'A');
} else {
return x;
}
}
struct ISO3166
{
const char *Code;
// access the table as ISO3166::GetCountry()
static const ISO3166& GetCountry( unsigned i );
static unsigned GetNumCountries();
// creates an ISO code from a two letter string
static WORD PackCode( const char string[2] )
{
return DVDToUpper(string[0])<<8 | DVDToUpper(string[1]);
}
};
// ISO3166 country code table
static const ISO3166 g_Table[] =
{ // current as of Dec 22, 2000
{/* "Afghanistan", */ "AF"},
{/* "Albania", */ "AL"},
{/* "Algeria", */ "DZ"},
{/* "American Samoa", */ "AS"},
{/* "Andorra", */ "AD"},
{/* "Angola", */ "AO"},
{/* "Anguilla", */ "AI"},
{/* "Antarctica", */ "AQ"},
{/* "Antigua and Barbuda", */ "AG"},
{/* "Argentina", */ "AR"},
{/* "Armenia", */ "AM"},
{/* "Aruba", */ "AW"},
{/* "Australia", */ "AU"},
{/* "Austria", */ "AT"},
{/* "Azerbaijan", */ "AZ"},
{/* "Bahamas", */ "BS"},
{/* "Bahrain", */ "BH"},
{/* "Bangladesh", */ "BD"},
{/* "Barbados", */ "BB"},
{/* "Belarus", */ "BY"},
{/* "Belgium", */ "BE"},
{/* "Belize", */ "BZ"},
{/* "Benin", */ "BJ"},
{/* "Bermuda", */ "BM"},
{/* "Bhutan", */ "BT"},
{/* "Bolivia", */ "BO"},
{/* "Bosnia and Herzegovina", */ "BA"},
{/* "Botswana", */ "BW"},
{/* "Bouvet Island", */ "BV"},
{/* "Brazil", */ "BR"},
{/* "British Indian Ocean Territory", */ "IO"},
{/* "Brunei Darussalam", */ "BN"},
{/* "Bulgaria", */ "BG"},
{/* "Burkina Faso", */ "BF"},
{/* "Burundi", */ "BI"},
{/* "Cambodia", */ "KH"},
{/* "Cameroon", */ "CM"},
{/* "Canada", */ "CA"},
{/* "Cape Verde", */ "CV"},
{/* "Cayman Islands", */ "KY"},
{/* "Central African Republic", */ "CF"},
{/* "Chad", */ "TD"},
{/* "Channel Islands", */ "GB"},
{/* "Chile", */ "CL"},
{/* "China", */ "CN"},
{/* "Christmas Island", */ "CX"},
{/* "Cocos (Keeling) Islands", */ "CC"},
{/* "Colombia", */ "CO"},
{/* "Comoros", */ "KM"},
{/* "Congo", */ "CG"},
{/* "Cook Islands", */ "CK"},
{/* "Costa Rica", */ "CR"},
{/* "Côte d'Ivoire", */ "CI"},
{/* "Croatia (local name: Hrvatska)", */ "HR"},
{/* "Cuba", */ "CU"},
{/* "Cyprus", */ "CY"},
{/* "Czech Republic", */ "CZ"},
{/* "Denmark", */ "DK"},
{/* "Djibouti", */ "DJ"},
{/* "Dominica", */ "DM"},
{/* "Dominican Republic", */ "DO"},
{/* "East Timor", */ "TP"},
{/* "Ecuador", */ "EC"},
{/* "Egypt", */ "EG"},
{/* "El Salvador", */ "SV"},
{/* "Equatorial Guinea", */ "GQ"},
{/* "Eritrea", */ "ER"},
{/* "Estonia", */ "EE"},
{/* "Ethiopia", */ "ET"},
{/* "Falkland Islands (Malvinas)", */ "FK"},
{/* "Faroe Islands", */ "FO"},
{/* "Fiji", */ "FJ"},
{/* "Finland", */ "FI"},
{/* "France", */ "FR"},
{/* "France, Metropolitan", */ "FX"},
{/* "French Guiana", */ "GF"},
{/* "French Polynesia", */ "PF"},
{/* "French Southern and Antarctic Lands", */ "TF"},
{/* "Gabon", */ "GA"},
{/* "Gambia", */ "GM"},
{/* "Georgia", */ "GE"},
{/* "Germany", */ "DE"},
{/* "Ghana", */ "GH"},
{/* "Gibraltar", */ "GI"},
{/* "Greece", */ "GR"},
{/* "Greenland", */ "GL"},
{/* "Grenada", */ "GD"},
{/* "Guadeloupe", */ "GP"},
{/* "Guam", */ "GU"},
{/* "Guatemala", */ "GT"},
{/* "Guinea", */ "GN"},
{/* "Guinea-Bissau", */ "GW"},
{/* "Guyana", */ "GY"},
{/* "Haiti", */ "HT"},
{/* "Heard and Mc Donald Islands", */ "HM"},
{/* "Holy See (Vatican City State)", */ "VA"},
{/* "Honduras", */ "HN"},
{/* "Hong Kong SAR", */ "HK"},
{/* "Hungary", */ "HU"},
{/* "Iceland", */ "IS"},
{/* "India", */ "IN"},
{/* "Indonesia", */ "ID"},
{/* "Iran (Islamic Republic Of)", */ "IR"},
{/* "Iraq", */ "IQ"},
{/* "Ireland", */ "IE"},
{/* "Israel", */ "IL"},
{/* "Italy", */ "IT"},
{/* "Jamaica", */ "JM"},
{/* "Japan", */ "JP"},
{/* "Jordan", */ "JO"},
{/* "Kazakhstan", */ "KZ"},
{/* "Kenya", */ "KE"},
{/* "Kiribati", */ "KI"},
{/* "Korea, Democratic People's Republic Of", */ "KP"},
{/* "Korea, Republic Of", */ "KR"},
{/* "Kuwait", */ "KW"},
{/* "Kyrgyzstan", */ "KG"},
{/* "Lao People's Democratic Republic", */ "LA"},
{/* "Latvia", */ "LV"},
{/* "Lebanon", */ "LB"},
{/* "Lesotho", */ "LS"},
{/* "Liberia", */ "LR"},
{/* "Libyan Arab Jamahiriya", */ "LY"},
{/* "Liechtenstein", */ "LI"},
{/* "Lithuania", */ "LT"},
{/* "Luxembourg", */ "LU"},
{/* "Macau SAR", */ "MO"},
{/* "Macedonia, The Former Yugoslav Republic Of", */ "MK"},
{/* "Madagascar", */ "MG"},
{/* "Malawi", */ "MW"},
{/* "Malaysia", */ "MY"},
{/* "Maldives", */ "MV"},
{/* "Mali", */ "ML"},
{/* "Malta", */ "MT"},
{/* "Man, Isle of",*/ "GB"},
{/* "Marshall Islands", */ "MH"},
{/* "Martinique", */ "MQ"},
{/* "Mauritania", */ "MR"},
{/* "Mauritius", */ "MU"},
{/* "Mayotte", */ "YT"},
{/* "Mexico", */ "MX"},
{/* "Micronesia, Federated States Of", */ "FM"},
{/* "Moldova, Republic Of", */ "MD"},
{/* "Monaco", */ "MC"},
{/* "Mongolia", */ "MN"},
{/* "Montserrat", */ "MS"},
{/* "Morocco", */ "MA"},
{/* "Mozambique", */ "MZ"},
{/* "Myanmar", */ "MM"},
{/* "Namibia", */ "NA"},
{/* "Nauru", */ "NR"},
{/* "Nepal", */ "NP"},
{/* "Netherlands", */ "NL"},
{/* "Netherlands ANTILLES", */ "AN"},
{/* "New Caledonia", */ "NC"},
{/* "New Zealand", */ "NZ"},
{/* "Nicaragua", */ "NI"},
{/* "Niger", */ "NE"},
{/* "Nigeria", */ "NG"},
{/* "Niue", */ "NU"},
{/* "Norfolk Island", */ "NF"},
{/* "Northern Mariana Islands", */ "MP"},
{/* "Norway", */ "NO"},
{/* "Oman", */ "OM"},
{/* "Pakistan", */ "PK"},
{/* "Palau", */ "PW"},
{/* "Panama", */ "PA"},
{/* "Papua New Guinea", */ "PG"},
{/* "Paraguay", */ "PY"},
{/* "Peru", */ "PE"},
{/* "Philippines", */ "PH"},
{/* "Pitcairn Islands", */ "PN"},
{/* "Poland", */ "PL"},
{/* "Portugal", */ "PT"},
{/* "Puerto Rico", */ "PR"},
{/* "Qatar", */ "QA"},
{/* "Reunion", */ "RE"},
{/* "Romania", */ "RO"},
{/* "Russian Federation", */ "RU"},
{/* "Rwanda", */ "RW"},
{/* "Saint Kitts and Nevis", */ "KN"},
{/* "Saint Lucia", */ "LC"},
{/* "Saint Vincent and The Grenadines", */ "VC"},
{/* "Samoa", */ "WS"},
{/* "San Marino", */ "SM"},
{/* "São Tomé and Príncipe ", */ "ST"},
{/* "Saudi Arabia", */ "SA"},
{/* "Senegal", */ "SN"},
{/* "Seychelles", */ "SC"},
{/* "Sierra Leone", */ "SL"},
{/* "Singapore", */ "SG"},
{/* "Slovakia (Slovak Republic)", */ "SK"},
{/* "Slovenia", */ "SI"},
{/* "Solomon Islands", */ "SB"},
{/* "Somalia", */ "SO"},
{/* "South Africa", */ "ZA"},
{/* "South Georgia and The South Sandwich Islands", */ "GS"},
{/* "Spain", */ "ES"},
{/* "Sri Lanka", */ "LK"},
{/* "St. Helena", */ "SH"},
{/* "St. Pierre and Miquelon", */ "PM"},
{/* "Sudan", */ "SD"},
{/* "Suriname", */ "SR"},
{/* "Svalbard and Jan Mayen Islands", */ "SJ"},
{/* "Swaziland", */ "SZ"},
{/* "Sweden", */ "SE"},
{/* "Switzerland", */ "CH"},
{/* "Syrian Arab Republic", */ "SY"},
{/* "Taiwan", */ "TW"},
{/* "Tajikistan", */ "TJ"},
{/* "Tanzania, United Republic Of", */ "TZ"},
{/* "Thailand", */ "TH"},
{/* "Togo", */ "TG"},
{/* "Tokelau", */ "TK"},
{/* "Tonga", */ "TO"},
{/* "Trinidad and Tobago", */ "TT"},
{/* "Tunisia", */ "TN"},
{/* "Turkey", */ "TR"},
{/* "Turkmenistan", */ "TM"},
{/* "Turks and Caicos Islands", */ "TC"},
{/* "Tuvalu", */ "TV"},
{/* "Uganda", */ "UG"},
{/* "Ukraine", */ "UA"},
{/* "United Arab Emirates", */ "AE"},
{/* "United Kingdom", */ "GB"},
{/* "United States", */ "US"},
{/* "U.S. Minor Outlying Islands", */ "UM"},
{/* "Uruguay", */ "UY"},
{/* "Uzbekistan", */ "UZ"},
{/* "Vanuatu", */ "VU"},
{/* "Venezuela", */ "VE"},
{/* "Viet Nam", */ "VN"},
{/* "Virgin Islands (British)", */ "VG"},
{/* "Virgin Islands (U.S.)", */ "VI"},
{/* "Wallis and Futuna Islands", */ "WF"},
{/* "Yemen", */ "YE"},
{/* "Yugoslavia", */ "YU"},
{/* "Congo (DRC)", */ "ZR"},
{/* "Zambia", */ "ZM"},
{/* "Zimbabwe", */ "ZW"}
};
static const unsigned g_uTableSize = sizeof( g_Table )/ sizeof( g_Table[0] );
const ISO3166& ISO3166::GetCountry( unsigned i )
{
return g_Table[i];
}
unsigned ISO3166::GetNumCountries()
{
return g_uTableSize;
}
#endif