gsm-networks.c

上传用户:susan2053
上传日期:2007-01-07
资源大小:731k
文件大小:11k
源码类别:手机短信编程
开发平台:Unix_Linux
  1. /*
  2.   G N O K I I
  3.   A Linux/Unix toolset and driver for Nokia mobile phones.
  4.   Copyright (C) 1999, 2000 Hugh Blemings & Pavel Jan韐 ml.
  5.   Released under the terms of the GNU GPL, see file COPYING for more details.
  6.   This file implements GSM networks searching.
  7.   Last modification: Mon Mar 20 22:02:15 CET 2000
  8.   Modified by Pavel Jan韐 ml. <Pavel.Janik@linux.cz>
  9. */
  10. #include <string.h>
  11. #include "gsm-networks.h"
  12. GSM_Country GSM_Countries[] =
  13. {
  14.   { "202", "Greece" },
  15.   { "204", "Netherlands" },
  16.   { "206", "Belgium" },
  17.   { "208", "France" },
  18.   { "213", "Andorra" },
  19.   { "214", "Spain" },
  20.   { "216", "Hungary" },
  21.   { "218", "Bosnia Herzegovina" },
  22.   { "219", "Croatia" },
  23.   { "220", "Yugoslavia" },
  24.   { "222", "Italy" },
  25.   { "226", "Romania" },
  26.   { "228", "Switzerland" },
  27.   { "230", "Czech Republic" },
  28.   { "231", "Slovak Republic" },
  29.   { "232", "Austria" },
  30.   { "234", "United Kingdom" },
  31.   { "238", "Denmark" },
  32.   { "240", "Sweden" },
  33.   { "242", "Norway" },
  34.   { "244", "Finland" },
  35.   { "246", "Lithuania" },
  36.   { "247", "Latvia" },
  37.   { "248", "Estonia" },
  38.   { "250", "Russia" },
  39.   { "255", "Ukraine" },
  40.   { "259", "Moldova" },
  41.   { "260", "Poland" },
  42.   { "262", "Germany" },
  43.   { "266", "Gibraltar" },
  44.   { "268", "Portugal" },
  45.   { "270", "Luxembourg" },
  46.   { "272", "Ireland" },
  47.   { "274", "Iceland" },
  48.   { "276", "Albania" },
  49.   { "278", "Malta" },
  50.   { "280", "Cyprus" },
  51.   { "282", "Georgia" },
  52.   { "283", "Armenia" },
  53.   { "284", "Bulgaria" },
  54.   { "286", "Turkey" },
  55.   { "290", "Greenland" },
  56.   { "293", "Slovenia" },
  57.   { "294", "Macedonia" },
  58.   { "302", "Canada" },
  59.   { "310", "Papua New Guinea" },
  60.   { "310", "U.S.A." },
  61.   { "340", "French West Indies" },
  62.   { "400", "Azerbaijan" },
  63.   { "404", "India" },
  64.   { "410", "Pakistan" },
  65.   { "413", "Sri Lanka" },
  66.   { "415", "Lebanon" },
  67.   { "416", "Jordan" },
  68.   { "417", "Syria" },
  69.   { "418", "Iraq" },
  70.   { "419", "Kuwait" },
  71.   { "420", "Saudi Arabia" },
  72.   { "422", "Oman" },
  73.   { "424", "United Arab Emirates" },
  74.   { "425", "Israel" },
  75.   { "426", "Bahrain" },
  76.   { "427", "Qatar" },
  77.   { "432", "Iran" },
  78.   { "434", "Uzbekistan" },
  79.   { "437", "Kyrgyz Republic" },
  80.   { "452", "Vietnam" },
  81.   { "454", "Hong Kong" },
  82.   { "455", "Macau" },
  83.   { "456", "Cambodia" },
  84.   { "457", "Lao" },
  85.   { "460", "China" },
  86.   { "466", "Taiwan" },
  87.   { "470", "Bangladesh" },
  88.   { "502", "Malaysia" },
  89.   { "505", "Australia" },
  90.   { "510", "Indonesia" },
  91.   { "515", "Philippines" },
  92.   { "520", "Thailand" },
  93.   { "525", "Singapore" },
  94.   { "528", "Brunei Darussalam" },
  95.   { "530", "New Zealand" },
  96.   { "542", "Fiji" },
  97.   { "546", "New Caledonia" },
  98.   { "547", "French Polynesia" },
  99.   { "602", "Egypt" },
  100.   { "603", "Algeria" },
  101.   { "604", "Morocco" },
  102.   { "605", "Tunisia" },
  103.   { "608", "Senegal" },
  104.   { "611", "Guinea" },
  105.   { "612", "Cote d'Ivoire" },
  106.   { "615", "Togo" },
  107.   { "617", "Mauritius" },
  108.   { "618", "Liberia" },
  109.   { "620", "Ghana" },
  110.   { "624", "Cameroon" },
  111.   { "625", "Cape Verde" },
  112.   { "633", "Seychelles" },
  113.   { "634", "Mozambique" },
  114.   { "634", "Sudan" },
  115.   { "635", "Rwanda" },
  116.   { "636", "Ethiopia" },
  117.   { "640", "Tanzania" },
  118.   { "641", "Uganda" },
  119.   { "645", "Zambia" },
  120.   { "646", "Madagascar" },
  121.   { "647", "Reunion" },
  122.   { "648", "Zimbabwe" },
  123.   { "649", "Namibia" },
  124.   { "650", "Malawi" },
  125.   { "651", "Lesotho" },
  126.   { "652", "Botswana" },
  127.   { "655", "South Africa" },
  128.   { "730", "Chile" },
  129.   { "734", "Venezuela" },
  130.   { "undefined", "unknown" }
  131. };
  132. GSM_Network GSM_Networks[] =
  133. {
  134.   { "202 01", "Cosmote" },
  135.   { "202 05", "PANAFON" },
  136.   { "202 10", "TELESTET" },
  137.   { "204 04", "LIBERTEL" },
  138.   { "204 08", "KPN Telecom" },
  139.   { "204 12", "Telfort" },
  140.   { "204 16", "BEN" },
  141.   { "204 20", "Dutchtone NV" },
  142.   { "206 01", "PROXIMUS" },
  143.   { "206 10", "Mobistar" },
  144.   { "208 01", "ITINERIS" },
  145.   { "208 10", "SFR" },
  146.   { "208 20", "Bouygues Telecom" },
  147.   { "213 03", "MOBILAND" },
  148.   { "214 01", "Airtel GSM 900-Spain" },
  149.   { "214 03", "Retevision Movil" },
  150.   { "214 07", "MOVISTAR" },
  151.   { "216 01", "Pannon GSM" },
  152.   { "216 70", "Vodafone" },
  153.   { "216 30", "Westel 900" },
  154.   { "218 90", "GSMBIH" },
  155.   { "219 01", "CRONET" },
  156.   { "219 10", "VIP" },
  157.   { "220 01", "MOBTEL" },
  158.   { "220 02", "ProMonte GSM" },
  159.   { "222 01", "Telecom Italia Mobile" },
  160.   { "222 10", "OMNITEL" },
  161.   { "222 88", "Wind Telecomunicazioni SpA" },
  162.   { "226 01", "CONNEX GSM" },
  163.   { "226 10", "DIALOG" },
  164.   { "228 01", "NATEL International" },
  165.   { "228 02", "diAx Mobile AG" },
  166.   { "230 01", "Paegas" },
  167.   { "230 02", "EuroTel" },
  168.   { "231 01", "Globtel" },
  169.   { "231 02", "EuroTel GSM" },
  170.   { "232 01", "A1" },
  171.   { "232 03", "max.mobil." },
  172.   { "232 05", "ONE" },
  173.   { "234 10", "Cellnet" },
  174.   { "234 15", "Vodafone" },
  175.   { "234 30", "One 2 One" },
  176.   { "234 33", "ORANGE" },
  177.   { "234 50", "Jersey Telecoms GSM" },
  178.   { "234 55", "Guernsey Telecoms GSM" },
  179.   { "234 58", "PRONTO GSM" },
  180.   { "238 01", "TDK-MOBIL" },
  181.   { "238 02", "SONOFON" },
  182.   { "238 20", "TELIA DK" },
  183.   { "238 30", "Mobilix" },
  184.   { "240 01", "Telia AB" },
  185.   { "240 07", "COMVIQ" },
  186.   { "240 08", "EUROPOLITAN" },
  187.   { "242 01", "Telenor Mobil" },
  188.   { "242 02", "NetCom GSM" },
  189.   { "244 03", "Telia City (Finland)" },
  190.   { "244 05", "Radiolinja" },
  191.   { "244 09", "Finnet" },
  192.   { "244 91", "Sonera" },
  193.   { "246 01", "OMNITEL" },
  194.   { "246 02", "Bite GSM" },
  195.   { "247 01", "LMT LV" },
  196.   { "247 02", "BALTCOM GSM" },
  197.   { "248 01", "EMT GSM" },
  198.   { "248 02", "Radiolinja Eesti AS" },
  199.   { "248 03", "Q GSM" },
  200.   { "250 01", "Mobile Telesystems" },
  201.   { "250 02", "North-West GSM" },
  202.   { "250 05", "Siberian Cellular Systems 900" },
  203.   { "250 07", "BM Telecom" },
  204.   { "250 10", "Don Telecom" },
  205.   { "250 12", "FECS-900" },
  206.   { "250 13", "Kuban GSM" },
  207.   { "250 39", "Uraltel" },
  208.   { "250 44", "North Caucasian GSM" },
  209.   { "250 99", "BeeLine" },
  210.   { "255 01", "UMC" },
  211.   { "255 02", "WellCOM" },
  212.   { "255 03", "Kyivstar" },
  213.   { "255 05", "Golden Telecom" },
  214.   { "259 01", "VOXTEL" },
  215.   { "260 01", "PLUS GSM" },
  216.   { "260 02", "ERA GSM" },
  217.   { "260 03", "IDEA Centertel" },
  218.   { "262 01", "D1 TELEKOM" },
  219.   { "262 02", "D2 PRIVAT" },
  220.   { "262 03", "E-Plus" },
  221.   { "262 07", "Interkom" },
  222.   { "266 01", "Gibtel GSM" },
  223.   { "268 01", "TELECEL" },
  224.   { "268 03", "OPTIMUS" },
  225.   { "268 06", "TMN" },
  226.   { "270 01", "LUXGSM" },
  227.   { "270 77", "TANGO" },
  228.   { "272 01", "EIRCELL-GSM" },
  229.   { "272 02", "Digifone" },
  230.   { "274 01", "Landssiminn GSM 900" },
  231.   { "274 02", "TAL hf" },
  232.   { "276 01", "AMC" },
  233.   { "278 01", "Vodafone Malta Limited" },
  234.   { "280 01", "CYTAGSM" },
  235.   { "282 01", "Geocell Limited" },
  236.   { "282 02", "Magti GSM" },
  237.   { "283 01", "ArmGSM" },
  238.   { "284 01", "M-TEL GSM BG" },
  239.   { "286 01", "Turkcell" },
  240.   { "286 02", "TELSIM GSM" },
  241.   { "288 01", "Faroese Telecom" },
  242.   { "290 01", "Tele Greenland" },
  243.   { "293 40", "SI.MOBIL d. d." },
  244.   { "293 41", "MOBITEL" },
  245.   { "294 01", "MobiMak" },
  246.   { "302 37", "Microcell Connexions Inc" },
  247.   { "310 01", "Cellnet" },
  248.   { "310 02", "Sprint Spectrum" },
  249.   { "310 11", "Wireless 2000 Telephone Co." },
  250.   { "310 15", "BellSouth Mobility DCS" },
  251.   { "310 16", "Omnipoint" },
  252.   { "310 17", "Pac Bell" },
  253.   { "310 26", "VOICESTREAM" },
  254.   { "310 27", "Powertel" },
  255.   { "310 31", "AERIAL" },
  256.   { "310 77", "Iowa Wireless Services LP" },
  257.   { "340 01", "AMERIS" },
  258.   { "400 01", "AZERCELL GSM" },
  259.   { "400 02", "Bakcell GSM 2000" },
  260.   { "404 07", "TATA Cellular" },
  261.   { "404 10", "AirTel" },
  262.   { "404 11", "Essar Cellphone" },
  263.   { "404 12", "Escotel" },
  264.   { "404 14", "Modicom" },
  265.   { "404 15", "Essar Cellphone" },
  266.   { "404 20", "Max Touch" },
  267.   { "404 21", "BPL - Mobile" },
  268.   { "404 27", "BPL USWEST Cellular" },
  269.   { "404 30", "Command" },
  270.   { "404 40", "SkyCell" },
  271.   { "404 41", "RPG Cellular" },
  272.   { "404 42", "AIRCEL" },
  273.   { "410 01", "Mobilink" },
  274.   { "413 02", "DIALOG GSM" },
  275.   { "415 01", "CELLIS" },
  276.   { "415 03", "LIBANCELL" },
  277.   { "416 01", "Fastlink" },
  278.   { "417 09", "MOBILE SYRIA" },
  279.   { "419 02", "MTCNet" },
  280.   { "420 01", "Al Jawwal" },
  281.   { "420 07", "E.A.E" },
  282.   { "422 02", "GTO" },
  283.   { "424 02", "UAE-ETISALAT" },
  284.   { "425 01", "Partner Communications Company Ltd" },
  285.   { "426 01", "BHR MOBILE PLUS" },
  286.   { "427 01", "QATARNET" },
  287.   { "432 11", "TCI" },
  288.   { "434 04", "Daewoo Unitel" },
  289.   { "434 05", "Coscom" },
  290.   { "437 01", "Bitel" },
  291.   { "454 00", "TCSL GSM" },
  292.   { "454 04", "HKGHT" },
  293.   { "454 06", "SMARTONE GSM" },
  294.   { "454 10", "New World PCS" },
  295.   { "454 12", "PEOPLES" },
  296.   { "454 16", "SUNDAY" },
  297.   { "455 01", "TELEMOVEL+ GSM900-Macau" },
  298.   { "456 01", "MobiTel" },
  299.   { "456 02", "SAMART-GSM" },
  300.   { "457 01", "Lao Shinawatra Telecom" },
  301.   { "460 00", "China Telecom GSM" },
  302.   { "460 01", "CU-GSM" },
  303.   { "466 01", "Far EasTone Telecoms 900" },
  304.   { "466 06", "TUNTEX GSM 1800" },
  305.   { "466 88", "KG Telecom" },
  306.   { "466 92", "Chunghwa GSM" },
  307.   { "466 93", "MobiTai" },
  308.   { "466 97", "TWNGSM" },
  309.   { "466 99", "TransAsia" },
  310.   { "470 01", "GrameenPhone Ltd" },
  311.   { "470 19", "Mobile 2000" },
  312.   { "502 12", "Maxis Mobile" },
  313.   { "502 13", "TM Touch" },
  314.   { "502 16", "DiGi 1800" },
  315.   { "502 17", "ADAM" },
  316.   { "502 19", "CELCOM" },
  317.   { "505 01", "MobileNet" },
  318.   { "505 02", "OPTUS" },
  319.   { "505 03", "VODAFONE" },
  320.   { "510 01", "SATELINDO" },
  321.   { "510 10", "TELKOMSEL" },
  322.   { "510 11", "Excelcom" },
  323.   { "515 01", "ISLACOM" },
  324.   { "515 02", "Globe Telecom" },
  325.   { "520 01", "AIS GSM" },
  326.   { "520 10", "WCS" },
  327.   { "520 18", "Worldphone 1800" },
  328.   { "520 23", "HELLO" },
  329.   { "525 01", "SingTel Mobile" },
  330.   { "525 02", "ST-PCN" },
  331.   { "525 03", "MOBILEONE" },
  332.   { "528 11", "DSTCom" },
  333.   { "530 01", "Vodafone New Zealand Limited" },
  334.   { "542 01", "Vodafone" },
  335.   { "546 01", "Mobilis" },
  336.   { "547 20", "VINI" },
  337.   { "602 01", "MobiNil" },
  338.   { "602 02", "Tunicell" },
  339.   { "603 01", "ALGERIAN MOBILE NETWORK" },
  340.   { "604 01", "I A M" },
  341.   { "608 01", "ALIZE" },
  342.   { "611 02", "Lagui" },
  343.   { "612 03", "IVOIRIS" },
  344.   { "612 05", "Telecel" },
  345.   { "615 01", "TOGO CELL" },
  346.   { "617 01", "Cellplus Mobile Comms" },
  347.   { "618 01", "Omega" },
  348.   { "620 01", "SPACEFON" },
  349.   { "625 01", "CVMOVEL" },
  350.   { "633 01", "Seychelles Cellular Services" },
  351.   { "633 10", "AIRTEL" },
  352.   { "634 01", "MobiTel" },
  353.   { "635 10", "Rwandacell" },
  354.   { "636 01", "ETMTN" },
  355.   { "640 01", "TRITEL" },
  356.   { "641 10", "MTN-Uganda" },
  357.   { "642 02", "ANTARIS" },
  358.   { "643 01", "T.D.M GSM 900" },
  359.   { "645 01", "ZAMCELL" },
  360.   { "646 01", "Madacom" },
  361.   { "646 03", "Sacel Madagascar S.A." },
  362.   { "647 10", "SRR" },
  363.   { "648 01", "NET*ONE" },
  364.   { "648 03", "Telecel" },
  365.   { "649 01", "MTC" },
  366.   { "650 01", "Callpoint 900" },
  367.   { "651 01", "Vodacom Lesotho (Pty) Ltd" },
  368.   { "655 01", "Vodacom" },
  369.   { "655 10", "MTN" },
  370.   { "680 38", "NPI Wireless" },
  371.   { "730 01", "Entel Telefonia Movi" },
  372.   { "730 10", "Entel PCS" },
  373.   { "734 01", "Infonet" },
  374.   { "undefined", "unknown" }
  375. };
  376. char *GSM_GetNetworkName(char *NetworkCode)
  377. {
  378.   int index=0;
  379.   while ( strcmp(GSM_Networks[index].Code, NetworkCode) &&
  380.           strcmp(GSM_Networks[index].Code, "undefined") )
  381.     index++;
  382.   return GSM_Networks[index].Name;
  383. }
  384. char *GSM_GetNetworkCode(char *NetworkName)
  385. {
  386.   int index=0;
  387.   while ( strcmp(GSM_Networks[index].Name, NetworkName) &&
  388.           strcmp(GSM_Networks[index].Code, "undefined") )
  389.     index++;
  390.   return GSM_Networks[index].Code;
  391. }
  392. char *GSM_GetCountryName(char *CountryCode)
  393. {
  394.   int index=0;
  395.   while ( strncmp(GSM_Countries[index].Code, CountryCode, 3) &&
  396.           strcmp(GSM_Countries[index].Code, "undefined") )
  397.     index++;
  398.   return GSM_Countries[index].Name;
  399. }
  400. char *GSM_GetCountryCode(char *CountryName)
  401. {
  402.   int index=0;
  403.   while ( strcmp(GSM_Countries[index].Name, CountryName) &&
  404.           strcmp(GSM_Countries[index].Code, "undefined") )
  405.     index++;
  406.   return GSM_Countries[index].Code;
  407. }