From a7ff1df1869ce543171a6ee92cbf821647b1bf7d Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Thu, 7 Aug 2014 13:12:15 +0200 Subject: Samsung-RIL rewrite: harder, better, probably not faster but definitely stronger Signed-off-by: Paul Kocialkowski --- include/plmn_list.h | 611 +++++++++++++++++++++++++++++-------------- include/plmn_list.sh | 31 ++- include/ril_oem.h | 52 ++++ include/samsung-ril-socket.h | 84 +++--- include/sim.h | 60 +++-- 5 files changed, 572 insertions(+), 266 deletions(-) create mode 100644 include/ril_oem.h (limited to 'include') diff --git a/include/plmn_list.h b/include/plmn_list.h index a415d35..8595e43 100644 --- a/include/plmn_list.h +++ b/include/plmn_list.h @@ -1,13 +1,17 @@ -/** - * This list was generated from http://en.wikipedia.org/wiki/Mobile_Network_Code - * - * Date: 26/07/2013 16:36:48 - * Copyright: Wikipedia Contributors, Creative Commons Attribution-ShareAlike License +/* + * This list was generated from: + * http://en.wikipedia.org/wiki/Mobile_country_code + * + * Date: 07/08/2014 12:54:48 + * Copyright: Wikipedia Contributors, Creative Commons + * Attribution-ShareAlike License */ #ifndef _PLMN_LIST_H_ #define _PLMN_LIST_H_ +#include + struct plmn_list_entry { unsigned int mcc; unsigned int mnc; @@ -18,12 +22,20 @@ struct plmn_list_entry { struct plmn_list_entry plmn_list[] = { { 1, 1, "TEST", "TEST" }, + // Abkhazia + + { 289, 67, "Aquafon", "Aquafon" }, + { 289, 88, "A-Mobile", "A-Mobile" }, + // Afghanistan - AF { 412, 1, "AWCC", "AWCC" }, { 412, 20, "Roshan", "Roshan" }, { 412, 40, "MTN", "MTN" }, { 412, 50, "Etisalat", "Etisalat" }, + { 412, 55, "WASEL", "WASEL" }, + { 412, 80, "Salaam", "Salaam" }, + { 412, 88, "Salaam", "Salaam" }, // Albania - AL @@ -36,7 +48,7 @@ struct plmn_list_entry plmn_list[] = { { 603, 1, "Mobilis", "Mobilis" }, { 603, 2, "Djezzy", "Djezzy" }, - { 603, 3, "Nedjma", "Nedjma" }, + { 603, 3, "Ooredoo", "Ooredoo" }, // American Samoa (United States of America) - AS @@ -54,13 +66,14 @@ struct plmn_list_entry plmn_list[] = { // Anguilla (United Kingdom) - AI { 365, 10, "Weblinks Limited", "Weblinks Limited" }, - { 365, 840, "Cable & Wireless", "Cable & Wireless" }, + { 365, 840, "LIME", "LIME" }, // Antigua and Barbuda - AG { 344, 30, "APUA", "APUA" }, - { 344, 920, "LIME", "LIME" }, { 344, 50, "Digicel", "Digicel" }, + { 344, 920, "LIME", "LIME" }, + { 344, 930, "AT&T Wireless", "AT&T Wireless" }, // Argentina - AR @@ -74,10 +87,12 @@ struct plmn_list_entry plmn_list[] = { { 722, 340, "Personal", "Personal" }, { 722, 350, "PORT-HABLE", "PORT-HABLE" }, - // Armenia - AM + // Armenia - AM { 283, 1, "Beeline", "Beeline" }, - { 283, 5, "K Telecom CJSC", "K Telecom CJSC" }, + { 283, 4, "Karabakh Telecom", "Karabakh Telecom" }, + { 283, 5, "VivaCell-MTS", "VivaCell-MTS" }, + { 283, 10, "Orange", "Orange" }, // Aruba (Kingdom of the Netherlands) - AW @@ -92,23 +107,31 @@ struct plmn_list_entry plmn_list[] = { { 505, 4, "Department of Defence", "Department of Defence" }, { 505, 5, "Ozitel", "Ozitel" }, { 505, 6, "3", "3" }, + { 505, 7, "Vodafone", "Vodafone" }, { 505, 8, "One.Tel", "One.Tel" }, { 505, 9, "Airnet", "Airnet" }, { 505, 10, "Norfolk Is.", "Norfolk Is." }, + { 505, 11, "Telstra", "Telstra" }, { 505, 12, "3", "3" }, { 505, 13, "Railcorp", "Railcorp" }, { 505, 14, "AAPT", "AAPT" }, { 505, 15, "3GIS", "3GIS" }, - { 505, 16, "Victorian Rail Track", "Victorian Rail Track" }, + { 505, 16, "VicTrack", "VicTrack" }, + { 505, 17, "Vidid Wireless Pty. Ltd.", "Vidid Wireless Pty. Ltd." }, { 505, 18, "Pactel", "Pactel" }, - { 505, 19, "Lycamobile Pty Ltd", "Lycamobile Pty Ltd" }, - { 505, 21, "SOUL", "SOUL" }, + { 505, 19, "Lycamobile", "Lycamobile" }, + { 505, 20, "Ausgrid Corporation", "Ausgrid Corporation" }, + { 505, 21, "Queensland Rail Limited", "Queensland Rail Limited" }, + { 505, 22, "iiNet Ltd", "iiNet Ltd" }, { 505, 23, "Challenge Networks Pty. Ltd.", "Challenge Networks Pty. Ltd." }, - { 505, 24, "Advance Communications Technologies Pty. Ltd.", "Advance Communications Technologies Pty. Ltd." }, + { 505, 24, "Advanced Communications Technologies Pty. Ltd.", "Advanced Communications Technologies Pty. Ltd." }, + { 505, 25, "Pilbara Iron Company Services Pty Ltd", "Pilbara Iron Company Services Pty Ltd" }, { 505, 26, "Dialogue Communications Pty. Ltd.", "Dialogue Communications Pty. Ltd." }, { 505, 27, "Nexium Telecommunications", "Nexium Telecommunications" }, + { 505, 28, "RCOM International Pty Ltd", "RCOM International Pty Ltd" }, { 505, 38, "Crazy John's", "Crazy John's" }, { 505, 62, "NBN", "NBN" }, + { 505, 68, "NBN", "NBN" }, { 505, 71, "Telstra", "Telstra" }, { 505, 72, "Telstra", "Telstra" }, { 505, 88, "Localstar Holding Pty. Ltd.", "Localstar Holding Pty. Ltd." }, @@ -120,14 +143,16 @@ struct plmn_list_entry plmn_list[] = { { 232, 1, "A1 TA", "A1 TA" }, { 232, 2, "A1 Telekom Austria", "A1 Telekom Austria" }, { 232, 3, "T-Mobile AT", "T-Mobile AT" }, + { 232, 4, "T-Mobile AT", "T-Mobile AT" }, { 232, 5, "Orange AT", "Orange AT" }, + { 232, 6, "Orange AT", "Orange AT" }, { 232, 7, "tele.ring", "tele.ring" }, { 232, 9, "Tele2Mobil", "Tele2Mobil" }, { 232, 10, "3AT", "3AT" }, { 232, 11, "bob", "bob" }, { 232, 12, "yesss!", "yesss!" }, { 232, 14, "Hutchison Drei Austria", "Hutchison Drei Austria" }, - { 232, 15, "A1 Telekom Austria", "A1 Telekom Austria" }, + { 232, 15, "Vectone", "Vectone" }, { 232, 16, "Hutchison Drei Austria", "Hutchison Drei Austria" }, // Azerbaijan - AZ @@ -145,16 +170,18 @@ struct plmn_list_entry plmn_list[] = { { 426, 1, "Batelco", "Batelco" }, { 426, 2, "zain BH", "zain BH" }, - { 426, 4, "VIVA", "VIVA" }, + { 426, 3, "Civil Aviation Authority", "Civil Aviation Authority" }, + { 426, 4, "VIVA Bahrain", "VIVA Bahrain" }, { 426, 5, "Batelco", "Batelco" }, // Bangladesh - BD { 470, 1, "Grameenphone", "Grameenphone" }, { 470, 2, "Robi", "Robi" }, - { 470, 3, "Banglalink Sheba", "Banglalink Sheba" }, + { 470, 3, "Banglalink", "Banglalink" }, { 470, 4, "TeleTalk", "TeleTalk" }, { 470, 5, "Citycell", "Citycell" }, + { 470, 6, "Beeong3G Warid Telekom", "Beeong3G Warid Telekom" }, { 470, 7, "Airtel", "Airtel" }, // Barbados - BB @@ -169,18 +196,26 @@ struct plmn_list_entry plmn_list[] = { { 257, 2, "MTS", "MTS" }, { 257, 3, "DIALLOG", "DIALLOG" }, { 257, 4, "life:)", "life:)" }, + { 257, 5, "Beltelecom", "Beltelecom" }, + { 257, 6, "Belorussian Cloud Technologies", "Belorussian Cloud Technologies" }, { 257, 501, "BelCel JV", "BelCel JV" }, // Belgium - BE { 206, 1, "Proximus", "Proximus" }, + { 206, 2, "N.M.B.S.", "N.M.B.S." }, { 206, 5, "Telenet", "Telenet" }, + { 206, 6, "Lycamobile", "Lycamobile" }, + { 206, 7, "Vectone Mobile", "Vectone Mobile" }, + { 206, 9, "Voxbone", "Voxbone" }, { 206, 10, "Mobistar", "Mobistar" }, + { 206, 15, "Elephant Talk Communications Schweiz GmbH", "Elephant Talk Communications Schweiz GmbH" }, { 206, 20, "BASE", "BASE" }, // Belize - BZ { 702, 67, "DigiCell", "DigiCell" }, + { 702, 68, "INTELCO", "INTELCO" }, { 702, 99, "Smart", "Smart" }, // Benin - BJ @@ -189,15 +224,15 @@ struct plmn_list_entry plmn_list[] = { { 616, 2, "Moov", "Moov" }, { 616, 3, "MTN", "MTN" }, { 616, 4, "BBCOM", "BBCOM" }, - { 616, 5, "Glo", "Glo" }, { 616, 4, "BLK", "BLK" }, + { 616, 5, "Glo", "Glo" }, // Bermuda - BM + { 310, 59, "Cellular One", "Cellular One" }, + { 338, 50, "Digicel Bermuda", "Digicel Bermuda" }, { 350, 1, "Digicel Bermuda", "Digicel Bermuda" }, { 350, 2, "Mobility", "Mobility" }, - { 338, 50, "Digicel Bermuda", "Digicel Bermuda" }, - { 310, 59, "Cellular One", "Cellular One" }, // Bhutan - BT @@ -213,7 +248,7 @@ struct plmn_list_entry plmn_list[] = { // Bosnia and Herzegovina - BA { 218, 3, "HT-ERONET", "HT-ERONET" }, - { 218, 5, "m:tel ", "m:tel " }, + { 218, 5, "m:tel", "m:tel" }, { 218, 90, "BH Mobile", "BH Mobile" }, // Botswana - BW @@ -228,8 +263,8 @@ struct plmn_list_entry plmn_list[] = { { 724, 3, "TIM", "TIM" }, { 724, 4, "TIM", "TIM" }, { 724, 5, "Claro BR", "Claro BR" }, - { 724, 6, "Vivo", "Vivo" }, { 724, 55, "Sercomtel", "Sercomtel" }, + { 724, 6, "Vivo", "Vivo" }, { 724, 10, "Vivo", "Vivo" }, { 724, 11, "Vivo", "Vivo" }, { 724, 15, "CTBC Celular", "CTBC Celular" }, @@ -244,6 +279,7 @@ struct plmn_list_entry plmn_list[] = { // British Virgin Islands (United Kingdom) - VG { 348, 170, "LIME", "LIME" }, + { 348, 370, "BVI Cable TV Ltd", "BVI Cable TV Ltd" }, { 348, 570, "CCT Boatphone", "CCT Boatphone" }, { 348, 770, "Digicel", "Digicel" }, @@ -257,14 +293,17 @@ struct plmn_list_entry plmn_list[] = { { 284, 1, "M-Tel", "M-Tel" }, { 284, 3, "Vivacom", "Vivacom" }, - { 284, 4, "Undisclosed", "Undisclosed" }, { 284, 5, "GLOBUL", "GLOBUL" }, + { 284, 7, "НКЖИ", "НКЖИ" }, + { 284, 9, "COMPATEL LIMITED", "COMPATEL LIMITED" }, + { 284, 11, "Bulsatcom", "Bulsatcom" }, + { 284, 13, "Max Telecom", "Max Telecom" }, // Burkina Faso - BF { 613, 1, "Telmob", "Telmob" }, { 613, 2, "Airtel", "Airtel" }, - { 613, 3, "Telecel Faso ", "Telecel Faso " }, + { 613, 3, "Telecel Faso", "Telecel Faso" }, // Burundi - BI @@ -278,15 +317,15 @@ struct plmn_list_entry plmn_list[] = { // Cambodia - KH { 456, 1, "Cellcard", "Cellcard" }, - { 456, 2, "Latelz Company Limited", "Latelz Company Limited" }, - { 456, 3, "S Telecom", "S Telecom" }, + { 456, 2, "Smart", "Smart" }, + { 456, 3, "qb", "qb" }, { 456, 4, "qb", "qb" }, - { 456, 5, "Star-Cell", "Star-Cell" }, + { 456, 5, "Latelz Company Limited", "Latelz Company Limited" }, { 456, 6, "Latelz Company Limited", "Latelz Company Limited" }, - { 456, 18, "Cellcard", "Cellcard" }, - { 456, 11, "Excell", "Excell" }, + { 456, 8, "Cellcard", "Cellcard" }, { 456, 9, "Beeline", "Beeline" }, - { 456, 8, "Metfone", "Metfone" }, + { 456, 11, "Excell", "Excell" }, + { 456, 18, "Cellcard", "Cellcard" }, // Cameroon - CM @@ -297,20 +336,28 @@ struct plmn_list_entry plmn_list[] = { { 302, 220, "Telus", "Telus" }, { 302, 221, "Telus", "Telus" }, + { 302, 222, "Telus", "Telus" }, + { 302, 250, "ALO", "ALO" }, { 302, 270, "EastLink", "EastLink" }, { 302, 290, "Airtel Wireless", "Airtel Wireless" }, - { 302, 320, "Mobilicity ", "Mobilicity " }, + { 302, 320, "Mobilicity", "Mobilicity" }, + { 302, 340, "Execulink", "Execulink" }, { 302, 350, "FIRST", "FIRST" }, { 302, 360, "MiKe", "MiKe" }, { 302, 361, "Telus", "Telus" }, { 302, 370, "Fido", "Fido" }, { 302, 380, "DMTS", "DMTS" }, + { 302, 480, "SSi Connexions", "SSi Connexions" }, { 302, 490, "WIND Mobile", "WIND Mobile" }, { 302, 500, "Videotron", "Videotron" }, { 302, 510, "Videotron", "Videotron" }, - { 302, 610, "Bell", "Bell" }, + { 302, 530, "Keewatinook Okimacinac", "Keewatinook Okimacinac" }, + { 302, 560, "Lynx Mobility", "Lynx Mobility" }, + { 302, 570, "LightSquared", "LightSquared" }, + { 302, 590, "Quadro Communication", "Quadro Communication" }, { 302, 610, "Bell", "Bell" }, { 302, 620, "ICE Wireless", "ICE Wireless" }, + { 302, 630, "Aliant Mobility", "Aliant Mobility" }, { 302, 640, "Bell", "Bell" }, { 302, 652, "BC Tel Mobility (Telus)", "BC Tel Mobility (Telus)" }, { 302, 653, "Telus", "Telus" }, @@ -318,6 +365,7 @@ struct plmn_list_entry plmn_list[] = { { 302, 656, "TBay", "TBay" }, { 302, 657, "Telus", "Telus" }, { 302, 660, "MTS", "MTS" }, + { 302, 670, "CityTel Mobility", "CityTel Mobility" }, { 302, 680, "SaskTel", "SaskTel" }, { 302, 690, "Bell", "Bell" }, { 302, 701, "MB Tel Mobility", "MB Tel Mobility" }, @@ -325,8 +373,15 @@ struct plmn_list_entry plmn_list[] = { { 302, 703, "New Tel Mobility (Aliant)", "New Tel Mobility (Aliant)" }, { 302, 710, "Globalstar", "Globalstar" }, { 302, 720, "Rogers Wireless", "Rogers Wireless" }, + { 302, 730, "TerreStar Solutions", "TerreStar Solutions" }, + { 302, 740, "Shaw Telecom G.P.", "Shaw Telecom G.P." }, + { 302, 750, "SaskTel", "SaskTel" }, + { 302, 760, "Public Mobile Inc.", "Public Mobile Inc." }, + { 302, 770, "Rural Com", "Rural Com" }, { 302, 780, "SaskTel", "SaskTel" }, + { 302, 860, "Telus", "Telus" }, { 302, 880, "Bell / Telus / SaskTel", "Bell / Telus / SaskTel" }, + { 302, 940, "Wightman Telecom", "Wightman Telecom" }, // Cape Verde - CV @@ -349,7 +404,7 @@ struct plmn_list_entry plmn_list[] = { { 622, 1, "Airtel", "Airtel" }, { 622, 2, "Tchad Mobile", "Tchad Mobile" }, - { 622, 2, "Tawali ", "Tawali " }, + { 622, 2, "Tawali", "Tawali" }, { 622, 3, "Tigo", "Tigo" }, { 622, 4, "Salam", "Salam" }, @@ -359,10 +414,17 @@ struct plmn_list_entry plmn_list[] = { { 730, 2, "movistar", "movistar" }, { 730, 3, "Claro", "Claro" }, { 730, 4, "Nextel", "Nextel" }, + { 730, 5, "Multikom S.A.", "Multikom S.A." }, + { 730, 6, "Blue Two Chile S.A.", "Blue Two Chile S.A." }, { 730, 7, "Virgin Mobile", "Virgin Mobile" }, { 730, 8, "VTR Móvil", "VTR Móvil" }, { 730, 9, "Nextel", "Nextel" }, { 730, 10, "entel", "entel" }, + { 730, 11, "Celupago S.A.", "Celupago S.A." }, + { 730, 12, "Telestar Móvil S.A.", "Telestar Móvil S.A." }, + { 730, 13, "Tribe Mobile Chile SPA", "Tribe Mobile Chile SPA" }, + { 730, 14, "Netline Telefónica Móvil Ltda", "Netline Telefónica Móvil Ltda" }, + { 730, 15, "Cibeles Telecom S.A.", "Cibeles Telecom S.A." }, { 730, 99, "Will", "Will" }, // China - CN @@ -370,10 +432,11 @@ struct plmn_list_entry plmn_list[] = { { 460, 1, "China Unicom", "China Unicom" }, { 460, 2, "China Mobile", "China Mobile" }, { 460, 3, "China Telecom", "China Telecom" }, + { 460, 4, "Global Star Satellite", "Global Star Satellite" }, { 460, 5, "China Telecom", "China Telecom" }, - { 460, 6, "China Unicom ", "China Unicom " }, + { 460, 6, "China Unicom", "China Unicom" }, { 460, 7, "China Mobile", "China Mobile" }, - { 460, 20, "China Tietong ", "China Tietong " }, + { 460, 20, "China Tietong", "China Tietong" }, // Christmas Island (Australia) - CX @@ -385,21 +448,25 @@ struct plmn_list_entry plmn_list[] = { { 732, 1, "Colombia Telecomunicaciones S.A.", "Colombia Telecomunicaciones S.A." }, { 732, 2, "Edatel", "Edatel" }, + { 732, 20, "Emtelsa", "Emtelsa" }, + { 732, 99, "EMCALI", "EMCALI" }, { 732, 101, "Claro", "Claro" }, { 732, 102, "movistar", "movistar" }, { 732, 103, "Tigo", "Tigo" }, { 732, 111, "Tigo", "Tigo" }, { 732, 123, "movistar", "movistar" }, + { 732, 130, "AVANTEL", "AVANTEL" }, + { 732, 123, "Virgin Mobile Colombia", "Virgin Mobile Colombia" }, // Comoros - KM - { 654, 1, "HURI - SNPT", "HURI - SNPT" }, + { 654, 1, "Comoros Telecom", "Comoros Telecom" }, // Republic of the Congo - CG { 629, 1, "Airtel", "Airtel" }, - { 629, 10, "Libertis Telecom", "Libertis Telecom" }, { 629, 7, "Warid Telecom", "Warid Telecom" }, + { 629, 10, "Libertis Telecom", "Libertis Telecom" }, // Cook Islands (New Zealand) - CK @@ -411,6 +478,7 @@ struct plmn_list_entry plmn_list[] = { { 712, 2, "Kolbi ICE", "Kolbi ICE" }, { 712, 3, "Claro", "Claro" }, { 712, 4, "movistar", "movistar" }, + { 712, 20, "'''full'''móvil", "'''full'''móvil" }, // Croatia - HR @@ -427,6 +495,7 @@ struct plmn_list_entry plmn_list[] = { { 280, 1, "Cytamobile-Vodafone", "Cytamobile-Vodafone" }, { 280, 10, "MTN", "MTN" }, { 280, 20, "PrimeTel", "PrimeTel" }, + { 280, 22, "lemontel", "lemontel" }, // Czech Republic - CZ @@ -436,37 +505,45 @@ struct plmn_list_entry plmn_list[] = { { 230, 4, "U:fon", "U:fon" }, { 230, 5, "TRAVEL TELEKOMMUNIKATION, s.r.o.", "TRAVEL TELEKOMMUNIKATION, s.r.o." }, { 230, 6, "OSNO TELECOMUNICATION, s.r.o.", "OSNO TELECOMUNICATION, s.r.o." }, + { 230, 7, "ASTELNET, s.r.o.", "ASTELNET, s.r.o." }, + { 230, 8, "Compatel s.r.o.", "Compatel s.r.o." }, { 230, 98, "Správa železniční dopravní cesty, s.o.", "Správa železniční dopravní cesty, s.o." }, { 230, 99, "Vodafone", "Vodafone" }, // Democratic Republic of the Congo - CD { 630, 1, "Vodacom", "Vodacom" }, - { 630, 2, "Zain", "Zain" }, + { 630, 2, "airtel", "airtel" }, { 630, 4, "Cellco", "Cellco" }, { 630, 5, "Supercell", "Supercell" }, { 630, 10, "Libertis Telecom", "Libertis Telecom" }, - { 630, 86, "CCT", "CCT" }, - { 630, 89, "Tigo DRC", "Tigo DRC" }, - { 630, 992, "Africell", "Africell" }, + { 630, 86, "Orange", "Orange" }, + { 630, 88, "YTT", "YTT" }, + { 630, 89, "Tigo", "Tigo" }, + { 630, 90, "Africell", "Africell" }, // Denmark (Kingdom of Denmark) - DK { 238, 1, "TDC", "TDC" }, { 238, 2, "Telenor", "Telenor" }, { 238, 3, "End2End", "End2End" }, - { 238, 5, "ApS KBUS", "ApS KBUS" }, + { 238, 4, "NextGen Mobile Ltd", "NextGen Mobile Ltd" }, + { 238, 5, "TetraNet", "TetraNet" }, { 238, 6, "3", "3" }, - { 238, 7, "Barablu Mobile Ltd.", "Barablu Mobile Ltd." }, - { 238, 8, "Nordisk Mobiltelefon", "Nordisk Mobiltelefon" }, - { 238, 9, "Dansk Beredskabskommunikation A/S", "Dansk Beredskabskommunikation A/S" }, + { 238, 7, "Vectone Mobile", "Vectone Mobile" }, + { 238, 8, "Voxbone", "Voxbone" }, + { 238, 9, "SINE", "SINE" }, { 238, 10, "TDC", "TDC" }, - { 238, 11, "Dansk Beredskabskommunikation A/S", "Dansk Beredskabskommunikation A/S" }, - { 238, 12, "Lycamobile Denmark Ltd", "Lycamobile Denmark Ltd" }, + { 238, 11, "SINE", "SINE" }, + { 238, 12, "Lycamobile", "Lycamobile" }, + { 238, 13, "Compatel Limited", "Compatel Limited" }, { 238, 20, "Telia", "Telia" }, { 238, 23, "GSM-R DK", "GSM-R DK" }, - { 238, 30, "Telia", "Telia" }, + { 238, 28, "CoolTEL ApS", "CoolTEL ApS" }, + { 238, 30, "Interactive digital media GmbH", "Interactive digital media GmbH" }, { 238, 40, "Ericsson Danmark A/S", "Ericsson Danmark A/S" }, + { 238, 43, "MobiWeb Limited", "MobiWeb Limited" }, + { 238, 66, "TT-Netværket P/S", "TT-Netværket P/S" }, { 238, 77, "Telenor", "Telenor" }, // Djibouti - DJ @@ -487,7 +564,7 @@ struct plmn_list_entry plmn_list[] = { // East Timor - TL - { 514, 1, "Telin", "Telin" }, + { 514, 1, "Telin Telkomcel", "Telin Telkomcel" }, { 514, 2, "Timor Telecom", "Timor Telecom" }, { 514, 3, "Viettel Timor-Leste", "Viettel Timor-Leste" }, @@ -526,6 +603,10 @@ struct plmn_list_entry plmn_list[] = { { 248, 4, "OY Top Connect", "OY Top Connect" }, { 248, 5, "AS Bravocom Mobiil", "AS Bravocom Mobiil" }, { 248, 6, "Progroup Holding", "Progroup Holding" }, + { 248, 7, "Televõrgu AS", "Televõrgu AS" }, + { 248, 8, "VIVEX", "VIVEX" }, + { 248, 9, "Bravo Telecom", "Bravo Telecom" }, + { 248, 71, "Siseministeerium (Ministry of Interior)", "Siseministeerium (Ministry of Interior)" }, // Ethiopia - ET @@ -535,11 +616,13 @@ struct plmn_list_entry plmn_list[] = { { 288, 1, "Faroese Telecom", "Faroese Telecom" }, { 288, 2, "Vodafone", "Vodafone" }, + { 288, 3, "Edge Mobile Sp/F", "Edge Mobile Sp/F" }, // Fiji - FJ { 542, 1, "Vodafone", "Vodafone" }, { 542, 2, "Digicel", "Digicel" }, + { 542, 3, "Telecom Fiji Ltd", "Telecom Fiji Ltd" }, // Finland - FI @@ -547,43 +630,69 @@ struct plmn_list_entry plmn_list[] = { { 244, 4, "AINA", "AINA" }, { 244, 5, "Elisa", "Elisa" }, { 244, 7, "Nokia", "Nokia" }, - { 244, 8, "Unknown", "Unknown" }, - { 244, 9, "Finnet Group / NOKIA OYJ", "Finnet Group / NOKIA OYJ" }, + { 244, 8, "Nokia", "Nokia" }, + { 244, 9, "Finnet Group / Nokia Solutions and Networks", "Finnet Group / Nokia Solutions and Networks" }, { 244, 10, "TDC", "TDC" }, - { 244, 11, "VIRVE", "VIRVE" }, + { 244, 11, "Vectone Mobile", "Vectone Mobile" }, { 244, 12, "DNA", "DNA" }, - { 244, 14, "AMT", "AMT" }, + { 244, 13, "DNA", "DNA" }, + { 244, 14, "Ålcom", "Ålcom" }, { 244, 15, "SAMK", "SAMK" }, + { 244, 16, "Oy Finland Tele2 AB", "Oy Finland Tele2 AB" }, { 244, 21, "Saunalahti", "Saunalahti" }, - { 244, 29, "Scnl Truphone", "Scnl Truphone" }, + { 244, 25, "Datame", "Datame" }, + { 244, 26, "Compatel", "Compatel" }, + { 244, 29, "SCNL Truphone", "SCNL Truphone" }, + { 244, 30, "Vectone Mobile", "Vectone Mobile" }, + { 244, 31, "Ukko Mobile", "Ukko Mobile" }, + { 244, 32, "Voxbone", "Voxbone" }, { 244, 91, "Sonera", "Sonera" }, // France - FR { 208, 1, "Orange", "Orange" }, { 208, 2, "Orange", "Orange" }, - { 208, 4, "Sisteer ", "Sisteer " }, + { 208, 3, "MobiquiThings", "MobiquiThings" }, + { 208, 4, "Sisteer", "Sisteer" }, { 208, 5, "Globalstar Europe", "Globalstar Europe" }, { 208, 6, "Globalstar Europe", "Globalstar Europe" }, { 208, 7, "Globalstar Europe", "Globalstar Europe" }, + { 208, 8, "Completel Mobile", "Completel Mobile" }, + { 208, 9, "SFR", "SFR" }, { 208, 10, "SFR", "SFR" }, { 208, 11, "SFR", "SFR" }, { 208, 13, "SFR", "SFR" }, { 208, 14, "RFF", "RFF" }, { 208, 15, "Free Mobile", "Free Mobile" }, { 208, 16, "Free Mobile", "Free Mobile" }, + { 208, 17, "LEGOS", "LEGOS" }, + { 208, 18, "Voxbone", "Voxbone" }, { 208, 20, "Bouygues", "Bouygues" }, { 208, 21, "Bouygues", "Bouygues" }, { 208, 22, "Transatel Mobile", "Transatel Mobile" }, { 208, 23, "Virgin Mobile (MVNO)", "Virgin Mobile (MVNO)" }, + { 208, 24, "MobiquiThings", "MobiquiThings" }, { 208, 25, "LycaMobile", "LycaMobile" }, { 208, 26, "NRJ Mobile (MVNO)", "NRJ Mobile (MVNO)" }, + { 208, 27, "Afone", "Afone" }, + { 208, 28, "Astrium SAS", "Astrium SAS" }, + { 208, 29, "Société International Mobile Communication", "Société International Mobile Communication" }, + { 208, 30, "Symacom", "Symacom" }, + { 208, 31, "Vectone", "Vectone" }, + { 208, 88, "Bouygues", "Bouygues" }, + { 208, 89, "Omer Telecom Ltd", "Omer Telecom Ltd" }, + { 208, 90, "Images & Réseaux", "Images & Réseaux" }, + { 208, 91, "Orange S.A.", "Orange S.A." }, + { 208, 92, "Com4Innov", "Com4Innov" }, + { 208, 93, "TDF", "TDF" }, // French Guiana (France) - GF // French Polynesia (France) - PF + { 547, 10, "Mara Telecom", "Mara Telecom" }, + { 547, 15, "Vodafone", "Vodafone" }, { 547, 20, "Vini", "Vini" }, // French Southern Territories (France) - TF @@ -595,13 +704,14 @@ struct plmn_list_entry plmn_list[] = { { 628, 2, "Moov", "Moov" }, { 628, 3, "Airtel", "Airtel" }, { 628, 4, "Azur", "Azur" }, + { 628, 5, "RAG", "RAG" }, // Gambia - GM { 607, 1, "Gamcel", "Gamcel" }, { 607, 2, "Africel", "Africel" }, { 607, 3, "Comium", "Comium" }, - { 607, 4, "QCell ", "QCell " }, + { 607, 4, "QCell", "QCell" }, // Georgia - GE @@ -610,10 +720,12 @@ struct plmn_list_entry plmn_list[] = { { 282, 3, "MagtiCom", "MagtiCom" }, { 282, 4, "Beeline", "Beeline" }, { 282, 5, "Silknet", "Silknet" }, + { 282, 6, "JSC Compatel", "JSC Compatel" }, + { 282, 7, "GlobalCell Ltd", "GlobalCell Ltd" }, // Germany - DE - { 262, 1, "T-Mobile", "T-Mobile" }, + { 262, 1, "Telekom", "Telekom" }, { 262, 2, "Vodafone", "Vodafone" }, { 262, 3, "E-Plus", "E-Plus" }, { 262, 4, "Vodafone", "Vodafone" }, @@ -622,19 +734,25 @@ struct plmn_list_entry plmn_list[] = { { 262, 7, "O2", "O2" }, { 262, 8, "O2", "O2" }, { 262, 9, "Vodafone", "Vodafone" }, - { 262, 10, "Arcor AG & Co", "Arcor AG & Co" }, + { 262, 10, "DB Netz AG", "DB Netz AG" }, { 262, 11, "O2", "O2" }, { 262, 12, "Dolphin Telecom / sipgate", "Dolphin Telecom / sipgate" }, { 262, 13, "Mobilcom Multimedia", "Mobilcom Multimedia" }, { 262, 14, "Group 3G UMTS", "Group 3G UMTS" }, { 262, 15, "Airdata", "Airdata" }, { 262, 16, "Telogic ex. Vistream", "Telogic ex. Vistream" }, + { 262, 17, "E-Plus", "E-Plus" }, + { 262, 18, "NetCologne", "NetCologne" }, + { 262, 19, "Inquam Deutschland", "Inquam Deutschland" }, { 262, 20, "OnePhone", "OnePhone" }, - { 262, 42, "27C3", "27C3" }, + { 262, 41, "First Telecom GmbH", "First Telecom GmbH" }, + { 262, 42, "CCC Event", "CCC Event" }, { 262, 43, "LYCA", "LYCA" }, { 262, 60, "DB Telematik", "DB Telematik" }, { 262, 76, "Siemens AG", "Siemens AG" }, { 262, 77, "E-Plus", "E-Plus" }, + { 262, 78, "T-Mobile", "T-Mobile" }, + { 262, 79, "ng4T GmbH", "ng4T GmbH" }, { 262, 92, "Nash Technologies", "Nash Technologies" }, { 262, 901, "Debitel", "Debitel" }, @@ -643,9 +761,10 @@ struct plmn_list_entry plmn_list[] = { { 620, 1, "MTN", "MTN" }, { 620, 2, "Vodafone", "Vodafone" }, { 620, 3, "tiGO", "tiGO" }, - { 620, 4, "Expresso ", "Expresso " }, + { 620, 4, "Expresso", "Expresso" }, { 620, 6, "Airtel", "Airtel" }, - { 620, 7, "Globacom (Zain)", "Globacom (Zain)" }, + { 620, 7, "Globacom", "Globacom" }, + { 620, 11, "Netafrique Dot Com Ltd", "Netafrique Dot Com Ltd" }, // Gibraltar (United Kingdom) - GI @@ -656,7 +775,12 @@ struct plmn_list_entry plmn_list[] = { // Greece - GR { 202, 1, "Cosmote", "Cosmote" }, + { 202, 2, "Cosmote", "Cosmote" }, + { 202, 3, "OTE", "OTE" }, + { 202, 4, "EDISY", "EDISY" }, { 202, 5, "Vodafone", "Vodafone" }, + { 202, 6, "Cosmoline", "Cosmoline" }, + { 202, 7, "AMD Telecom", "AMD Telecom" }, { 202, 9, "Wind", "Wind" }, { 202, 10, "Wind", "Wind" }, @@ -682,21 +806,21 @@ struct plmn_list_entry plmn_list[] = { { 310, 32, "IT&E Wireless", "IT&E Wireless" }, { 310, 33, "Guam Telephone Authority", "Guam Telephone Authority" }, { 310, 140, "mPulse", "mPulse" }, - { 310, 370, "docomo", "docomo" }, { 311, 250, "i CAN_GSM", "i CAN_GSM" }, - { 310, 470, "docomo", "docomo" }, + { 310, 370, "Docomo", "Docomo" }, + { 310, 470, "Docomo", "Docomo" }, // Guatemala - GT { 704, 1, "Claro", "Claro" }, - { 704, 201, "Tigo", "Tigo" }, + { 704, 2, "Tigo", "Tigo" }, { 704, 3, "movistar", "movistar" }, // Guernsey (United Kingdom) - GG - { 234, 55, "Sure Mobile", "Sure Mobile" }, - { 234, 50, "Wave Telecom", "Wave Telecom" }, { 234, 3, "Airtel Vodafone", "Airtel Vodafone" }, + { 234, 50, "Wave Telecom", "Wave Telecom" }, + { 234, 55, "Sure Mobile", "Sure Mobile" }, // Guinea - GN @@ -708,7 +832,8 @@ struct plmn_list_entry plmn_list[] = { // Guinea-Bissau - GW - { 632, 2, "Areeba", "Areeba" }, + { 632, 1, "Guinetel", "Guinetel" }, + { 632, 2, "MTN Areeba", "MTN Areeba" }, { 632, 3, "Orange", "Orange" }, { 632, 7, "Guinetel", "Guinetel" }, @@ -721,20 +846,20 @@ struct plmn_list_entry plmn_list[] = { { 372, 1, "Voila", "Voila" }, { 372, 2, "Digicel", "Digicel" }, - { 372, 3, "Telecommunication S.A.", "Telecommunication S.A." }, + { 372, 3, "Natcom", "Natcom" }, // Honduras - HN { 708, 1, "Claro", "Claro" }, { 708, 2, "Tigo", "Tigo" }, { 708, 30, "Hondutel", "Hondutel" }, - { 708, 40, "DIGICEL ", "DIGICEL " }, + { 708, 40, "Digicel", "Digicel" }, // Hong Kong - HK { 454, 1, "CITIC Telecom 1616", "CITIC Telecom 1616" }, - { 454, 2, "CSL Limited ", "CSL Limited " }, - { 454, 3, "3 (3G) ", "3 (3G) " }, + { 454, 2, "CSL Limited", "CSL Limited" }, + { 454, 3, "3", "3" }, { 454, 4, "3 (2G)", "3 (2G)" }, { 454, 5, "3 (CDMA)", "3 (CDMA)" }, { 454, 6, "SmarTone", "SmarTone" }, @@ -749,17 +874,19 @@ struct plmn_list_entry plmn_list[] = { { 454, 15, "SmarTone Mobile Communications Limited", "SmarTone Mobile Communications Limited" }, { 454, 16, "PCCW Mobile (2G)", "PCCW Mobile (2G)" }, { 454, 17, "SmarTone Mobile Communications Limited", "SmarTone Mobile Communications Limited" }, - { 454, 18, "CSL Limited ", "CSL Limited " }, - { 454, 19, "PCCW Mobile (3G)", "PCCW Mobile (3G)" }, + { 454, 18, "CSL Limited", "CSL Limited" }, + { 454, 19, "PCCW Mobile (3G/4G)", "PCCW Mobile (3G/4G)" }, { 454, 22, "P Plus", "P Plus" }, { 454, 29, "PCCW Mobile (CDMA)", "PCCW Mobile (CDMA)" }, // Hungary - HU { 216, 1, "Telenor", "Telenor" }, + { 216, 20, "Telenor", "Telenor" }, { 216, 30, "T-Mobile", "T-Mobile" }, { 216, 70, "Vodafone", "Vodafone" }, { 216, 71, "UPC Hungary", "UPC Hungary" }, + { 216, 99, "MAV GSM-R", "MAV GSM-R" }, // Iceland - IS @@ -862,31 +989,12 @@ struct plmn_list_entry plmn_list[] = { { 404, 97, "AirTel", "AirTel" }, { 404, 98, "AirTel", "AirTel" }, { 405, 1, "Reliance", "Reliance" }, - { 405, 3, "Reliance", "Reliance" }, - { 405, 4, "Reliance", "Reliance" }, - { 405, 5, "Reliance", "Reliance" }, - { 405, 6, "Reliance", "Reliance" }, - { 405, 7, "Reliance", "Reliance" }, - { 405, 8, "Reliance", "Reliance" }, - { 405, 9, "Reliance", "Reliance" }, - { 405, 10, "Reliance", "Reliance" }, - { 405, 11, "Reliance", "Reliance" }, - { 405, 12, "Reliance", "Reliance" }, - { 405, 13, "Reliance", "Reliance" }, - { 405, 14, "Reliance", "Reliance" }, - { 405, 15, "Reliance", "Reliance" }, - { 405, 17, "Reliance", "Reliance" }, - { 405, 18, "Reliance", "Reliance" }, - { 405, 19, "Reliance", "Reliance" }, - { 405, 20, "Reliance", "Reliance" }, - { 405, 21, "Reliance", "Reliance" }, - { 405, 22, "Reliance", "Reliance" }, - { 405, 23, "Reliance", "Reliance" }, { 405, 25, "TATA DOCOMO", "TATA DOCOMO" }, { 405, 26, "TATA DOCOMO", "TATA DOCOMO" }, { 405, 27, "TATA DOCOMO", "TATA DOCOMO" }, { 405, 28, "TATA DOCOMO", "TATA DOCOMO" }, { 405, 29, "TATA DOCOMO", "TATA DOCOMO" }, + { 405, 3, "Reliance", "Reliance" }, { 405, 30, "TATA DOCOMO", "TATA DOCOMO" }, { 405, 31, "TATA DOCOMO", "TATA DOCOMO" }, { 405, 32, "TATA DOCOMO", "TATA DOCOMO" }, @@ -897,6 +1005,7 @@ struct plmn_list_entry plmn_list[] = { { 405, 37, "TATA DOCOMO", "TATA DOCOMO" }, { 405, 38, "TATA DOCOMO", "TATA DOCOMO" }, { 405, 39, "TATA DOCOMO", "TATA DOCOMO" }, + { 405, 4, "Reliance", "Reliance" }, { 405, 41, "TATA DOCOMO", "TATA DOCOMO" }, { 405, 42, "TATA DOCOMO", "TATA DOCOMO" }, { 405, 43, "TATA DOCOMO", "TATA DOCOMO" }, @@ -904,6 +1013,24 @@ struct plmn_list_entry plmn_list[] = { { 405, 45, "TATA DOCOMO", "TATA DOCOMO" }, { 405, 46, "TATA DOCOMO", "TATA DOCOMO" }, { 405, 47, "TATA DOCOMO", "TATA DOCOMO" }, + { 405, 5, "Reliance", "Reliance" }, + { 405, 6, "Reliance", "Reliance" }, + { 405, 7, "Reliance", "Reliance" }, + { 405, 8, "Reliance", "Reliance" }, + { 405, 9, "Reliance", "Reliance" }, + { 405, 10, "Reliance", "Reliance" }, + { 405, 11, "Reliance", "Reliance" }, + { 405, 12, "Reliance", "Reliance" }, + { 405, 13, "Reliance", "Reliance" }, + { 405, 14, "Reliance", "Reliance" }, + { 405, 15, "Reliance", "Reliance" }, + { 405, 17, "Reliance", "Reliance" }, + { 405, 18, "Reliance", "Reliance" }, + { 405, 19, "Reliance", "Reliance" }, + { 405, 20, "Reliance", "Reliance" }, + { 405, 21, "Reliance", "Reliance" }, + { 405, 22, "Reliance", "Reliance" }, + { 405, 23, "Reliance", "Reliance" }, { 405, 51, "AirTel", "AirTel" }, { 405, 52, "AirTel", "AirTel" }, { 405, 53, "AirTel", "AirTel" }, @@ -911,6 +1038,7 @@ struct plmn_list_entry plmn_list[] = { { 405, 55, "Airtel", "Airtel" }, { 405, 56, "AirTel", "AirTel" }, { 405, 66, "Vodafone IN", "Vodafone IN" }, + { 405, 67, "Vodafone IN", "Vodafone IN" }, { 405, 70, "IDEA", "IDEA" }, { 405, 750, "Vodafone IN", "Vodafone IN" }, { 405, 751, "Vodafone IN", "Vodafone IN" }, @@ -942,6 +1070,7 @@ struct plmn_list_entry plmn_list[] = { { 405, 827, "Videocon Datacom", "Videocon Datacom" }, { 405, 834, "Videocon Datacom", "Videocon Datacom" }, { 405, 844, "Uninor", "Uninor" }, + { 405, 840, "Jio", "Jio" }, { 405, 845, "IDEA", "IDEA" }, { 405, 846, "IDEA", "IDEA" }, { 405, 847, "IDEA", "IDEA" }, @@ -951,27 +1080,27 @@ struct plmn_list_entry plmn_list[] = { { 405, 851, "IDEA", "IDEA" }, { 405, 852, "IDEA", "IDEA" }, { 405, 853, "IDEA", "IDEA" }, - { 405, 854, "Loop Mobile", "Loop Mobile" }, - { 405, 855, "Loop Mobile", "Loop Mobile" }, - { 405, 856, "Loop Mobile", "Loop Mobile" }, - { 405, 857, "Loop Mobile", "Loop Mobile" }, - { 405, 858, "Loop Mobile", "Loop Mobile" }, - { 405, 859, "Loop Mobile", "Loop Mobile" }, - { 405, 860, "Loop Mobile", "Loop Mobile" }, - { 405, 861, "Loop Mobile", "Loop Mobile" }, - { 405, 862, "Loop Mobile", "Loop Mobile" }, - { 405, 863, "Loop Mobile", "Loop Mobile" }, - { 405, 864, "Loop Mobile", "Loop Mobile" }, - { 405, 865, "Loop Mobile", "Loop Mobile" }, - { 405, 866, "Loop Mobile", "Loop Mobile" }, - { 405, 867, "Loop Mobile", "Loop Mobile" }, - { 405, 868, "Loop Mobile", "Loop Mobile" }, - { 405, 869, "Loop Mobile", "Loop Mobile" }, - { 405, 870, "Loop Mobile", "Loop Mobile" }, - { 405, 871, "Loop Mobile", "Loop Mobile" }, - { 405, 872, "Loop Mobile", "Loop Mobile" }, - { 405, 873, "Loop Mobile", "Loop Mobile" }, - { 405, 874, "Loop Mobile", "Loop Mobile" }, + { 405, 854, "Jio", "Jio" }, + { 405, 855, "Jio", "Jio" }, + { 405, 856, "Jio", "Jio" }, + { 405, 857, "Jio", "Jio" }, + { 405, 858, "Jio", "Jio" }, + { 405, 859, "Jio", "Jio" }, + { 405, 860, "Jio", "Jio" }, + { 405, 861, "Jio", "Jio" }, + { 405, 862, "Jio", "Jio" }, + { 405, 863, "Jio", "Jio" }, + { 405, 864, "Jio", "Jio" }, + { 405, 865, "Jio", "Jio" }, + { 405, 866, "Jio", "Jio" }, + { 405, 867, "Jio", "Jio" }, + { 405, 868, "Jio", "Jio" }, + { 405, 869, "Jio", "Jio" }, + { 405, 870, "Jio", "Jio" }, + { 405, 871, "Jio", "Jio" }, + { 405, 872, "Jio", "Jio" }, + { 405, 873, "Jio", "Jio" }, + { 405, 874, "Jio", "Jio" }, { 405, 875, "Uninor", "Uninor" }, { 405, 880, "Uninor", "Uninor" }, { 405, 881, "S Tel", "S Tel" }, @@ -992,7 +1121,7 @@ struct plmn_list_entry plmn_list[] = { { 510, 3, "StarOne", "StarOne" }, { 510, 7, "TelkomFlexi", "TelkomFlexi" }, { 510, 8, "AXIS", "AXIS" }, - { 510, 9, "SMART", "SMART" }, + { 510, 9, "SMARTFREN", "SMARTFREN" }, { 510, 10, "Telkomsel", "Telkomsel" }, { 510, 11, "XL", "XL" }, { 510, 20, "TELKOMMobile", "TELKOMMobile" }, @@ -1002,6 +1131,7 @@ struct plmn_list_entry plmn_list[] = { { 510, 89, "3", "3" }, { 510, 99, "Esia", "Esia" }, { 510, 995, "Komselindo", "Komselindo" }, + { 510, 996, "Komselindo", "Komselindo" }, // Iran - IR @@ -1039,8 +1169,8 @@ struct plmn_list_entry plmn_list[] = { // Isle of Man (United Kingdom) - IM - { 234, 58, "Pronto GSM", "Pronto GSM" }, { 234, 9, "Sure Mobile", "Sure Mobile" }, + { 234, 58, "Pronto GSM", "Pronto GSM" }, // Israel - IL @@ -1049,10 +1179,17 @@ struct plmn_list_entry plmn_list[] = { { 425, 3, "Pelephone", "Pelephone" }, { 425, 7, "Hot Mobile", "Hot Mobile" }, { 425, 8, "Golan Telecom", "Golan Telecom" }, + { 425, 11, "365 Telecom", "365 Telecom" }, + { 425, 12, "Free Telecom", "Free Telecom" }, + { 425, 13, "Ituran Cellular Communications", "Ituran Cellular Communications" }, { 425, 14, "Youphone", "Youphone" }, { 425, 15, "Home Cellular", "Home Cellular" }, { 425, 16, "Rami Levy", "Rami Levy" }, + { 425, 17, "Gale Phone", "Gale Phone" }, { 425, 18, "Cellact Communications", "Cellact Communications" }, + { 425, 19, "Azi Communications Ltd.", "Azi Communications Ltd." }, + { 425, 20, "Bezeq Ltd", "Bezeq Ltd" }, + { 425, 21, "B.I.P. Communications Ltd.", "B.I.P. Communications Ltd." }, // Italy - IT @@ -1063,6 +1200,7 @@ struct plmn_list_entry plmn_list[] = { { 222, 7, "Noverca", "Noverca" }, { 222, 10, "Vodafone", "Vodafone" }, { 222, 30, "RFI", "RFI" }, + { 222, 34, "BT Italia", "BT Italia" }, { 222, 35, "Lyca Italy", "Lyca Italy" }, { 222, 77, "IPSE 2000", "IPSE 2000" }, { 222, 88, "Wind", "Wind" }, @@ -1082,6 +1220,7 @@ struct plmn_list_entry plmn_list[] = { { 338, 20, "LIME", "LIME" }, { 338, 50, "Digicel", "Digicel" }, + { 338, 110, "LIME", "LIME" }, { 338, 180, "LIME", "LIME" }, // Japan - JP @@ -1184,14 +1323,14 @@ struct plmn_list_entry plmn_list[] = { // Jersey (United Kingdom) - JE + { 234, 3, "Airtel Vodafone", "Airtel Vodafone" }, { 234, 50, "JT", "JT" }, { 234, 55, "Sure Mobile", "Sure Mobile" }, - { 234, 3, "Airtel Vodafone", "Airtel Vodafone" }, // Jordan - JO { 416, 1, "zain JO", "zain JO" }, - { 416, 74, "XPress Telecom", "XPress Telecom" }, + { 416, 2, "XPress Telecom", "XPress Telecom" }, { 416, 3, "Umniah", "Umniah" }, { 416, 77, "Orange", "Orange" }, @@ -1201,19 +1340,18 @@ struct plmn_list_entry plmn_list[] = { { 401, 2, "Kcell", "Kcell" }, { 401, 7, "Dalacom", "Dalacom" }, { 401, 8, "Kazakhtelecom", "Kazakhtelecom" }, - { 401, 10, "Dontelecom", "Dontelecom" }, { 401, 77, "Tele2.kz", "Tele2.kz" }, // Kenya - KE { 639, 2, "Safaricom", "Safaricom" }, { 639, 3, "Airtel", "Airtel" }, - { 639, 7, "Orange Kenya", "Orange Kenya" }, { 639, 5, "yu", "yu" }, + { 639, 7, "Orange Kenya", "Orange Kenya" }, // Kiribati - KI - { 545, 1, "Kiribati - Frigate Net", "Kiribati - Frigate Net" }, + { 545, 1, "Kiribati - TSKL", "Kiribati - TSKL" }, { 545, 9, "Kiribati - Frigate Net", "Kiribati - Frigate Net" }, // North Korea - KP @@ -1231,12 +1369,12 @@ struct plmn_list_entry plmn_list[] = { { 450, 8, "olleh", "olleh" }, { 450, 11, "SKTelecom", "SKTelecom" }, - // Kosovo - RKS + // Kosovo - XK { 212, 1, "Vala", "Vala" }, + { 212, 1, "Z Mobile", "Z Mobile" }, { 293, 41, "IPKO", "IPKO" }, { 293, 41, "D3 Mobile", "D3 Mobile" }, - { 212, 1, "Z Mobile", "Z Mobile" }, // Kuwait - KW @@ -1263,6 +1401,7 @@ struct plmn_list_entry plmn_list[] = { { 247, 1, "LMT", "LMT" }, { 247, 2, "Tele2", "Tele2" }, { 247, 3, "TRIATEL", "TRIATEL" }, + { 247, 4, "Beta Telecom", "Beta Telecom" }, { 247, 5, "Bite", "Bite" }, { 247, 6, "Rigatta", "Rigatta" }, { 247, 7, "MTS", "MTS" }, @@ -1300,21 +1439,24 @@ struct plmn_list_entry plmn_list[] = { { 295, 1, "Swisscom", "Swisscom" }, { 295, 2, "Orange", "Orange" }, { 295, 5, "FL1", "FL1" }, - { 295, 77, "Alpmobil", "Alpmobil" }, { 295, 6, "Cubic Telecom", "Cubic Telecom" }, + { 295, 77, "Alpmobil", "Alpmobil" }, // Lithuania - LT { 246, 1, "Omnitel", "Omnitel" }, - { 246, 2, "BITE", "BITE" }, + { 246, 2, "BITĖ", "BITĖ" }, { 246, 3, "Tele 2", "Tele 2" }, { 246, 5, "LitRail", "LitRail" }, { 246, 6, "Mediafon", "Mediafon" }, // Luxembourg - LU - { 270, 1, "LuxGSM", "LuxGSM" }, + { 270, 1, "POST", "POST" }, + { 270, 2, "MTX Connect S.a.r.l.", "MTX Connect S.a.r.l." }, + { 270, 10, "Blue Communications", "Blue Communications" }, { 270, 77, "Tango", "Tango" }, + { 270, 78, "Interactive digital media GmbH", "Interactive digital media GmbH" }, { 270, 99, "Orange", "Orange" }, // Macau (People's Republic of China) - MO @@ -1324,6 +1466,7 @@ struct plmn_list_entry plmn_list[] = { { 455, 3, "3", "3" }, { 455, 4, "CTM", "CTM" }, { 455, 5, "3", "3" }, + { 455, 6, "SmarTone", "SmarTone" }, // Macedonia - MK @@ -1335,7 +1478,7 @@ struct plmn_list_entry plmn_list[] = { { 646, 1, "Airtel", "Airtel" }, { 646, 2, "Orange", "Orange" }, - { 646, 3, "Sacel ", "Sacel " }, + { 646, 3, "Sacel", "Sacel" }, { 646, 4, "Telma", "Telma" }, // Malawi - MW @@ -1351,20 +1494,22 @@ struct plmn_list_entry plmn_list[] = { { 502, 12, "Maxis", "Maxis" }, { 502, 13, "Celcom", "Celcom" }, { 502, 14, "Telekom Malaysia Berhad for PSTN SMS", "Telekom Malaysia Berhad for PSTN SMS" }, + { 502, 150, "Tune Talk", "Tune Talk" }, + { 502, 151, "Baraka Telecom Sdn Bhd (MVNE)", "Baraka Telecom Sdn Bhd (MVNE)" }, + { 502, 152, "Yes", "Yes" }, + { 502, 156, "Altel", "Altel" }, { 502, 16, "DiGi", "DiGi" }, { 502, 17, "Hotlink", "Hotlink" }, { 502, 18, "U Mobile", "U Mobile" }, { 502, 18, "TM Homeline", "TM Homeline" }, { 502, 19, "Celcom", "Celcom" }, { 502, 20, "Electcoms Wireless Sdn Bhd", "Electcoms Wireless Sdn Bhd" }, - { 502, 150, "Tune Talk", "Tune Talk" }, - { 502, 151, "Baraka Telecom Sdn Bhd (MVNE)", "Baraka Telecom Sdn Bhd (MVNE)" }, - { 502, 152, "Yes", "Yes" }, + { 502, 12, "Kartu As", "Kartu As" }, // Maldives - MV { 472, 1, "Dhiraagu", "Dhiraagu" }, - { 472, 2, "Wataniya", "Wataniya" }, + { 472, 2, "Ooredoo", "Ooredoo" }, // Mali - ML @@ -1379,7 +1524,7 @@ struct plmn_list_entry plmn_list[] = { // Marshall Islands - MH - { 551, 1, "Marshall Islands National Telecommunications Authority (MINTA) ", "Marshall Islands National Telecommunications Authority (MINTA) " }, + { 551, 1, "Marshall Islands National Telecommunications Authority (MINTA)", "Marshall Islands National Telecommunications Authority (MINTA)" }, // Martinique (France) - MQ @@ -1407,6 +1552,7 @@ struct plmn_list_entry plmn_list[] = { { 334, 10, "Nextel", "Nextel" }, { 334, 20, "Telcel", "Telcel" }, { 334, 30, "movistar", "movistar" }, + { 334, 30, "Virgin Mobile", "Virgin Mobile" }, { 334, 40, "Iusacell / Unefon", "Iusacell / Unefon" }, { 334, 50, "Iusacell", "Iusacell" }, { 334, 90, "Nextel", "Nextel" }, @@ -1462,12 +1608,14 @@ struct plmn_list_entry plmn_list[] = { // Myanmar - MM { 414, 1, "MPT", "MPT" }, + { 414, 5, "Ooredoo", "Ooredoo" }, + { 414, 6, "NA", "NA" }, // Namibia - NA { 649, 1, "MTC", "MTC" }, { 649, 2, "switch", "switch" }, - { 649, 3, "Leo", "Leo" }, + { 649, 3, "TN Mobile", "TN Mobile" }, // Nauru - NR @@ -1482,20 +1630,21 @@ struct plmn_list_entry plmn_list[] = { // Netherlands (Kingdom of the Netherlands) - NL - { 204, 1, "VastMobiel B.V.", "VastMobiel B.V." }, + { 204, 1, "RadioAccess Network Services BV", "RadioAccess Network Services BV" }, { 204, 2, "Tele2", "Tele2" }, { 204, 3, "Voiceworks", "Voiceworks" }, - { 204, 4, "Vodafone Libertel B.V.", "Vodafone Libertel B.V." }, + { 204, 4, "Vodafone", "Vodafone" }, { 204, 5, "Elephant Talk Communications Premium Rate Services", "Elephant Talk Communications Premium Rate Services" }, - { 204, 6, "Vectone Mobile Delight Mobile ", "Vectone Mobile Delight Mobile " }, + { 204, 6, "Vectone Mobile Delight Mobile", "Vectone Mobile Delight Mobile" }, { 204, 7, "Teleena (MVNE)", "Teleena (MVNE)" }, { 204, 8, "KPN", "KPN" }, { 204, 9, "Lycamobile", "Lycamobile" }, { 204, 10, "KPN", "KPN" }, + { 204, 11, "VoipIT B.V.", "VoipIT B.V." }, { 204, 12, "Telfort", "Telfort" }, { 204, 13, "Unica Installatietechniek B.V.", "Unica Installatietechniek B.V." }, { 204, 14, "6GMOBILE B.V.", "6GMOBILE B.V." }, - { 204, 15, "Ziggo B.V.", "Ziggo B.V." }, + { 204, 15, "Ziggo", "Ziggo" }, { 204, 16, "T-Mobile (BEN)", "T-Mobile (BEN)" }, { 204, 17, "Intercity Zakelijk", "Intercity Zakelijk" }, { 204, 18, "UPC Nederland B.V.", "UPC Nederland B.V." }, @@ -1509,17 +1658,23 @@ struct plmn_list_entry plmn_list[] = { { 204, 26, "SpeakUp B.V.", "SpeakUp B.V." }, { 204, 27, "Breezz Nederland B.V.", "Breezz Nederland B.V." }, { 204, 28, "Lancelot B.V.", "Lancelot B.V." }, + { 204, 60, "Nextgen Mobile Ltd", "Nextgen Mobile Ltd" }, + { 204, 61, "BodyTrace Netherlands B.V.", "BodyTrace Netherlands B.V." }, + { 204, 62, "Voxbone", "Voxbone" }, + { 204, 64, "Zetacom B.V.", "Zetacom B.V." }, + { 204, 65, "AGMS Netherlands B.V.", "AGMS Netherlands B.V." }, + { 204, 66, "Utility Connect B.V.", "Utility Connect B.V." }, { 204, 67, "RadioAccess B.V.", "RadioAccess B.V." }, - { 204, 68, "Unify Group Holding B.V.", "Unify Group Holding B.V." }, + { 204, 68, "Roamware (Netherlands) B.V.", "Roamware (Netherlands) B.V." }, { 204, 69, "KPN Mobile The Netherlands B.V.", "KPN Mobile The Netherlands B.V." }, - // Netherlands Antilles (Kingdom of the Netherlands) - AN + // Former Netherlands Antilles (Kingdom of the Netherlands) - AN { 362, 51, "Telcell", "Telcell" }, { 362, 69, "Digicel", "Digicel" }, { 362, 91, "UTS", "UTS" }, - { 362, 95, "MIO", "MIO" }, { 362, 94, "Bayòs", "Bayòs" }, + { 362, 95, "MIO", "MIO" }, // New Caledonia (France) - NC @@ -1532,8 +1687,8 @@ struct plmn_list_entry plmn_list[] = { { 530, 3, "Woosh", "Woosh" }, { 530, 4, "TelstraClear", "TelstraClear" }, { 530, 5, "XT Mobile Network", "XT Mobile Network" }, - { 530, 24, "2degrees", "2degrees" }, { 530, 6, "Skinny", "Skinny" }, + { 530, 24, "2degrees", "2degrees" }, // Nicaragua - NI @@ -1577,10 +1732,14 @@ struct plmn_list_entry plmn_list[] = { { 242, 5, "Network Norway", "Network Norway" }, { 242, 6, "Ice", "Ice" }, { 242, 7, "Ventelo", "Ventelo" }, - { 242, 8, "TDC ", "TDC " }, + { 242, 8, "TDC", "TDC" }, { 242, 9, "Com4", "Com4" }, { 242, 11, "SystemNet", "SystemNet" }, + { 242, 12, "Telenor", "Telenor" }, { 242, 20, "Jernbaneverket AS", "Jernbaneverket AS" }, + { 242, 21, "Jernbaneverket AS", "Jernbaneverket AS" }, + { 242, 23, "Lyca", "Lyca" }, + { 242, 24, "Mobile Norway AS", "Mobile Norway AS" }, // Oman - OM @@ -1592,15 +1751,16 @@ struct plmn_list_entry plmn_list[] = { { 410, 1, "Mobilink", "Mobilink" }, { 410, 3, "Ufone", "Ufone" }, { 410, 4, "Zong", "Zong" }, + { 410, 5, "SCO Mobile", "SCO Mobile" }, { 410, 6, "Telenor", "Telenor" }, - { 410, 7, "Warid", "Warid" }, + { 410, 7, "Warid Pakistan", "Warid Pakistan" }, // Palau - PW { 552, 1, "PNCC", "PNCC" }, { 552, 80, "Palau Mobile", "Palau Mobile" }, - // State of Palestine - PS + // Palestine, State of - PS { 425, 5, "Jawwal", "Jawwal" }, { 425, 6, "Wataniya", "Wataniya" }, @@ -1609,12 +1769,12 @@ struct plmn_list_entry plmn_list[] = { { 714, 1, "Cable & Wireless", "Cable & Wireless" }, { 714, 2, "movistar", "movistar" }, - { 714, 4, "Digicel", "Digicel" }, { 714, 3, "Claro", "Claro" }, + { 714, 4, "Digicel", "Digicel" }, // Papua New Guinea - PG - { 537, 1, "BeMobile", "BeMobile" }, + { 537, 1, "bmobile", "bmobile" }, { 537, 3, "Digicel", "Digicel" }, // Paraguay - PY @@ -1629,7 +1789,7 @@ struct plmn_list_entry plmn_list[] = { { 716, 6, "Movistar", "Movistar" }, { 716, 7, "NEXTEL", "NEXTEL" }, - { 716, 10, "Claro(TIM)", "Claro(TIM)" }, + { 716, 10, "Claro (TIM)", "Claro (TIM)" }, { 716, 15, "Viettel Mobile", "Viettel Mobile" }, { 716, 17, "NEXTEL", "NEXTEL" }, @@ -1641,6 +1801,7 @@ struct plmn_list_entry plmn_list[] = { { 515, 5, "Sun", "Sun" }, { 515, 11, "PLDT via ACeS Philippines", "PLDT via ACeS Philippines" }, { 515, 18, "Cure", "Cure" }, + { 515, 24, "ABS-CBN", "ABS-CBN" }, { 515, 88, "Nextel", "Nextel" }, // Pitcairn Islands (United Kingdom) - PN @@ -1665,6 +1826,7 @@ struct plmn_list_entry plmn_list[] = { { 260, 15, "CenterNet", "CenterNet" }, { 260, 16, "Mobyland", "Mobyland" }, { 260, 17, "Aero2", "Aero2" }, + { 260, 32, "Voxbone", "Voxbone" }, { 260, 34, "T-Mobile Polska S.A.", "T-Mobile Polska S.A." }, { 260, 98, "P4 Sp. z o.o.", "P4 Sp. z o.o." }, @@ -1672,24 +1834,26 @@ struct plmn_list_entry plmn_list[] = { { 268, 1, "Vodafone", "Vodafone" }, { 268, 3, "Optimus", "Optimus" }, - { 268, 7, "Vectonemobile - Delightmobile", "Vectonemobile - Delightmobile" }, { 268, 4, "LycaMobile", "LycaMobile" }, { 268, 6, "TMN", "TMN" }, + { 268, 7, "Vectonemobile - Delightmobile", "Vectonemobile - Delightmobile" }, { 268, 21, "Zapp", "Zapp" }, // Puerto Rico - PR - { 330, 110, "Claro", "Claro" }, - { 330, 120, "Open Mobile", "Open Mobile" }, + { 330, 110, "Claro Puerto Rico", "Claro Puerto Rico" }, + { 330, 120, "tmobile", "tmobile" }, // Qatar - QA { 427, 1, "ooredoo", "ooredoo" }, { 427, 2, "Vodafone", "Vodafone" }, { 427, 5, "Ministry of Interior", "Ministry of Interior" }, + { 427, 6, "Ministry of Interior", "Ministry of Interior" }, // Réunion (France) - RE + { 647, 1, "BJT Partners", "BJT Partners" }, { 647, 2, "Outremer", "Outremer" }, { 647, 10, "SFR Reunion", "SFR Reunion" }, @@ -1702,6 +1866,7 @@ struct plmn_list_entry plmn_list[] = { { 226, 5, "Digi.Mobil", "Digi.Mobil" }, { 226, 6, "Cosmote/Zapp", "Cosmote/Zapp" }, { 226, 10, "Orange", "Orange" }, + { 226, 15, "Idilis", "Idilis" }, // Russian Federation - RU @@ -1718,9 +1883,11 @@ struct plmn_list_entry plmn_list[] = { { 250, 12, "Baykalwestcom", "Baykalwestcom" }, { 250, 12, "Akos", "Akos" }, { 250, 13, "KUGSM", "KUGSM" }, + { 250, 14, "MegaFon", "MegaFon" }, { 250, 15, "SMARTS", "SMARTS" }, { 250, 16, "NTC", "NTC" }, { 250, 17, "Utel", "Utel" }, + { 250, 18, "Osnova Telecom", "Osnova Telecom" }, { 250, 19, "INDIGO", "INDIGO" }, { 250, 20, "Tele2", "Tele2" }, { 250, 23, "Mobicom - Novosibirsk", "Mobicom - Novosibirsk" }, @@ -1741,6 +1908,7 @@ struct plmn_list_entry plmn_list[] = { { 635, 12, "Rwandatel", "Rwandatel" }, { 635, 13, "Tigo", "Tigo" }, { 635, 14, "Airtel", "Airtel" }, + { 635, 17, "Olleh Rwanda Networks", "Olleh Rwanda Networks" }, // Saint Kitts and Nevis - KN @@ -1750,7 +1918,7 @@ struct plmn_list_entry plmn_list[] = { // Saint Lucia - LC - { 358, 358, "| 358 || 050 ||Unknown", "| 358 || 050 ||Unknown" }, + { 358, 50, "Digicel", "Digicel" }, { 358, 110, "Cable & Wireless", "Cable & Wireless" }, // Saint Pierre and Miquelon (France) - PM @@ -1789,6 +1957,7 @@ struct plmn_list_entry plmn_list[] = { { 608, 1, "Orange", "Orange" }, { 608, 2, "Tigo", "Tigo" }, { 608, 3, "Expresso", "Expresso" }, + { 608, 4, "CSU-SA", "CSU-SA" }, // Serbia - RS @@ -1806,10 +1975,10 @@ struct plmn_list_entry plmn_list[] = { // Sierra Leone - SL { 619, 1, "Airtel", "Airtel" }, - { 619, 2, "Tigo", "Tigo" }, { 619, 3, "Africell", "Africell" }, { 619, 4, "Comium", "Comium" }, { 619, 5, "Africell", "Africell" }, + { 619, 6, "SierraTel", "SierraTel" }, { 619, 25, "Mobitel", "Mobitel" }, // Singapore - SG @@ -1825,16 +1994,18 @@ struct plmn_list_entry plmn_list[] = { // Slovakia - SK { 231, 1, "Orange", "Orange" }, - { 231, 2, "T-Mobile", "T-Mobile" }, + { 231, 2, "Telekom", "Telekom" }, { 231, 3, "Unient Communications", "Unient Communications" }, { 231, 4, "T-Mobile", "T-Mobile" }, - { 231, 6, "O2 ", "O2 " }, + { 231, 6, "O2", "O2" }, { 231, 99, "ŽSR", "ŽSR" }, // Slovenia - SI + { 293, 31, "Mobitel", "Mobitel" }, { 293, 40, "Si.mobil", "Si.mobil" }, { 293, 41, "Mobitel", "Mobitel" }, + { 293, 51, "Mobitel", "Mobitel" }, { 293, 64, "T-2", "T-2" }, { 293, 70, "Tušmobil", "Tušmobil" }, @@ -1845,11 +2016,11 @@ struct plmn_list_entry plmn_list[] = { // Somalia - SO - { 637, 4, "SomaCyber", "SomaCyber" }, { 637, 1, "Telesom", "Telesom" }, + { 637, 4, "SomaCyber", "SomaCyber" }, { 637, 4, "Somafone", "Somafone" }, { 637, 10, "Nationlink", "Nationlink" }, - { 637, 25, "Hormuud", "Hormuud" }, + { 637, 50, "Hormuud", "Hormuud" }, { 637, 30, "Golis", "Golis" }, { 637, 57, "Unittel", "Unittel" }, { 637, 60, "Nationlink Telecom", "Nationlink Telecom" }, @@ -1865,12 +2036,15 @@ struct plmn_list_entry plmn_list[] = { { 655, 10, "MTN", "MTN" }, { 655, 11, "South African Police Service Gauteng", "South African Police Service Gauteng" }, { 655, 13, "Neotel", "Neotel" }, + { 655, 14, "Neotel", "Neotel" }, { 655, 19, "iBurst", "iBurst" }, { 655, 21, "Cape Town Metropolitan Council", "Cape Town Metropolitan Council" }, { 655, 30, "Bokamoso Consortium", "Bokamoso Consortium" }, { 655, 31, "Karabo Telecoms (Pty) Ltd.", "Karabo Telecoms (Pty) Ltd." }, { 655, 32, "Ilizwi Telecommunications", "Ilizwi Telecommunications" }, { 655, 33, "Thinta Thinta Telecommunications", "Thinta Thinta Telecommunications" }, + { 655, 50, "Ericsson South Africa (Pty) Ltd", "Ericsson South Africa (Pty) Ltd" }, + { 655, 51, "Integrat (Pty) Ltd", "Integrat (Pty) Ltd" }, // South Sudan - SS @@ -1900,7 +2074,12 @@ struct plmn_list_entry plmn_list[] = { { 214, 22, "DigiMobil", "DigiMobil" }, { 214, 23, "Barablu", "Barablu" }, { 214, 24, "Eroski", "Eroski" }, - { 214, 25, "LycaMobile", "LycaMobile" }, + { 214, 25, "Lycamobile", "Lycamobile" }, + { 214, 28, "Consorcio de Telecomunicaciones Avanzadas, S.A.", "Consorcio de Telecomunicaciones Avanzadas, S.A." }, + { 214, 29, "NEO-SKY 2002, S.A.", "NEO-SKY 2002, S.A." }, + { 214, 30, "Compatel Limited", "Compatel Limited" }, + { 214, 31, "Red Digital De Telecomunicaciones de las Islas Baleares, S.L.", "Red Digital De Telecomunicaciones de las Islas Baleares, S.L." }, + { 214, 32, "Tuenti", "Tuenti" }, // Sri Lanka - LK @@ -1914,6 +2093,7 @@ struct plmn_list_entry plmn_list[] = { { 634, 1, "Zain SD", "Zain SD" }, { 634, 2, "MTN", "MTN" }, + { 634, 5, "Canar Telecom", "Canar Telecom" }, { 634, 7, "Sudani One", "Sudani One" }, { 634, 9, "Privet Network", "Privet Network" }, @@ -1931,7 +2111,7 @@ struct plmn_list_entry plmn_list[] = { { 240, 1, "Telia", "Telia" }, { 240, 2, "3", "3" }, - { 240, 3, "Ice.net", "Ice.net" }, + { 240, 3, "Net 1", "Net 1" }, { 240, 4, "SWEDEN", "SWEDEN" }, { 240, 5, "Sweden 3G", "Sweden 3G" }, { 240, 6, "Telenor", "Telenor" }, @@ -1939,20 +2119,40 @@ struct plmn_list_entry plmn_list[] = { { 240, 8, "Telenor", "Telenor" }, { 240, 9, "djuice", "djuice" }, { 240, 10, "Spring Mobil", "Spring Mobil" }, - { 240, 11, "Lindholmen Science Park", "Lindholmen Science Park" }, - { 240, 12, "Lycamobile Sweden ", "Lycamobile Sweden " }, - { 240, 13, "Ventelo Sverige", "Ventelo Sverige" }, - { 240, 14, "TDC Mobil", "TDC Mobil" }, - { 240, 15, "Wireless Maingate Nordic", "Wireless Maingate Nordic" }, - { 240, 16, "42IT", "42IT" }, - { 240, 17, "Götalandsnätet", "Götalandsnätet" }, - { 240, 20, "Wireless Maingate Message Services", "Wireless Maingate Message Services" }, + { 240, 11, "Lindholmen Science Park AB", "Lindholmen Science Park AB" }, + { 240, 12, "Lycamobile", "Lycamobile" }, + { 240, 13, "Alltele Företag Sverige AB", "Alltele Företag Sverige AB" }, + { 240, 14, "TDC Sverige AB", "TDC Sverige AB" }, + { 240, 15, "Wireless Maingate Nordic AB", "Wireless Maingate Nordic AB" }, + { 240, 16, "42 Telecom AB", "42 Telecom AB" }, + { 240, 17, "Götalandsnätet AB", "Götalandsnätet AB" }, + { 240, 18, "Generic Mobile Systems Sweden AB", "Generic Mobile Systems Sweden AB" }, + { 240, 19, "Vectone Mobile / Delight Mobile", "Vectone Mobile / Delight Mobile" }, + { 240, 20, "Wireless Maingate Messaging Services AB", "Wireless Maingate Messaging Services AB" }, { 240, 21, "MobiSir", "MobiSir" }, + { 240, 22, "EuTel AB", "EuTel AB" }, + { 240, 23, "Infobip Limited", "Infobip Limited" }, { 240, 24, "Sweden 2G", "Sweden 2G" }, - { 240, 25, "DigiTelMobile", "DigiTelMobile" }, - { 240, 26, "Beepsend", "Beepsend" }, + { 240, 25, "Digitel Mobile Srl", "Digitel Mobile Srl" }, + { 240, 26, "Beepsend AB", "Beepsend AB" }, + { 240, 27, "Fogg Mobile AB", "Fogg Mobile AB" }, + { 240, 28, "CoolTEL Aps", "CoolTEL Aps" }, + { 240, 29, "Mercury International Carrier Services", "Mercury International Carrier Services" }, + { 240, 30, "NextGen Mobile Ltd.", "NextGen Mobile Ltd." }, + { 240, 31, "Mobimax AB", "Mobimax AB" }, + { 240, 32, "Compatel Limited", "Compatel Limited" }, { 240, 33, "Mobile Arts AB", "Mobile Arts AB" }, - { 240, 41, "Shyam Telecom UK Ltd", "Shyam Telecom UK Ltd" }, + { 240, 34, "Pro Net Telecommunications Services Ltd.", "Pro Net Telecommunications Services Ltd." }, + { 240, 35, "42 Telecom LTD", "42 Telecom LTD" }, + { 240, 36, "interactive digital media GmbH", "interactive digital media GmbH" }, + { 240, 37, "CLX Networks AB", "CLX Networks AB" }, + { 240, 38, "Voxbone", "Voxbone" }, + { 240, 39, "iCentrex Sweden AB", "iCentrex Sweden AB" }, + { 240, 40, "ReWiCom Scandinavia AB", "ReWiCom Scandinavia AB" }, + { 240, 41, "Shyam Telecom UK Ltd.", "Shyam Telecom UK Ltd." }, + { 240, 42, "Telenor Connexion AB", "Telenor Connexion AB" }, + { 240, 43, "MobiWeb Ltd.", "MobiWeb Ltd." }, + { 240, 44, "Limitless Mobile AB", "Limitless Mobile AB" }, // Switzerland - CH @@ -1970,6 +2170,7 @@ struct plmn_list_entry plmn_list[] = { { 228, 52, "Barablu", "Barablu" }, { 228, 53, "UPC", "UPC" }, { 228, 54, "Lyca Mobile", "Lyca Mobile" }, + { 228, 99, "Swisscom", "Swisscom" }, // Syria - SY @@ -1980,9 +2181,9 @@ struct plmn_list_entry plmn_list[] = { { 466, 1, "FarEasTone", "FarEasTone" }, { 466, 5, "APTG", "APTG" }, - { 466, 6, "Tuntex", "Tuntex" }, + { 466, 6, "FarEasTone", "FarEasTone" }, { 466, 11, "Chunghwa LDM", "Chunghwa LDM" }, - { 466, 88, "KG Telecom", "KG Telecom" }, + { 466, 88, "FarEasTone", "FarEasTone" }, { 466, 89, "VIBO", "VIBO" }, { 466, 92, "Chungwa", "Chungwa" }, { 466, 93, "MobiTai", "MobiTai" }, @@ -1993,9 +2194,9 @@ struct plmn_list_entry plmn_list[] = { { 436, 1, "Tcell", "Tcell" }, { 436, 2, "Tcell", "Tcell" }, - { 436, 3, "Megafon", "Megafon" }, + { 436, 3, "Megafon Tajikistan", "Megafon Tajikistan" }, { 436, 4, "Babilon-M", "Babilon-M" }, - { 436, 5, "Tacom", "Tacom" }, + { 436, 5, "Beeline", "Beeline" }, { 436, 12, "Tcell", "Tcell" }, // Tanzania - TZ @@ -2012,17 +2213,18 @@ struct plmn_list_entry plmn_list[] = { // Thailand - TH - { 520, 1, "AIS ", "AIS " }, + { 520, 1, "AIS", "AIS" }, { 520, 2, "CAT CDMA", "CAT CDMA" }, { 520, 3, "AIS 3G", "AIS 3G" }, - { 520, 4, "True Move H 4G LTE", "True Move H 4G LTE" }, - { 520, 5, "dtac 3G", "dtac 3G" }, + { 520, 4, "truemove H 4G LTE", "truemove H 4G LTE" }, + { 520, 5, "dtac TriNet", "dtac TriNet" }, { 520, 10, "?", "?" }, { 520, 15, "TOT 3G", "TOT 3G" }, { 520, 18, "dtac", "dtac" }, { 520, 23, "AIS GSM 1800", "AIS GSM 1800" }, - { 520, 99, "True Move", "True Move" }, { 520, 25, "WE PCT", "WE PCT" }, + { 520, 47, "Telephone Organization of Thailand (TOT)", "Telephone Organization of Thailand (TOT)" }, + { 520, 99, "truemove", "truemove" }, // Togo - TG @@ -2055,7 +2257,7 @@ struct plmn_list_entry plmn_list[] = { // Turkmenistan - TM - { 438, 1, "MTS (BARASH Communication) ", "MTS (BARASH Communication) " }, + { 438, 1, "MTS (BARASH Communication)", "MTS (BARASH Communication)" }, { 438, 2, "TM-Cell", "TM-Cell" }, // Turks and Caicos Islands - TC @@ -2072,9 +2274,12 @@ struct plmn_list_entry plmn_list[] = { { 641, 1, "Airtel", "Airtel" }, { 641, 10, "MTN", "MTN" }, - { 641, 11, "UTL", "UTL" }, + { 641, 11, "UTL ( Telecom Limited)", "UTL ( Telecom Limited)" }, { 641, 14, "Orange", "Orange" }, { 641, 22, "Warid Telecom", "Warid Telecom" }, + { 641, 33, "Smile", "Smile" }, + { 641, 44, "K2", "K2" }, + { 641, 66, "i-Tel", "i-Tel" }, // Ukraine - UA @@ -2111,31 +2316,41 @@ struct plmn_list_entry plmn_list[] = { { 234, 13, "Railtrack", "Railtrack" }, { 234, 14, "Hay Systems Ltd", "Hay Systems Ltd" }, { 234, 15, "Vodafone UK", "Vodafone UK" }, - { 234, 16, "Talk Talk (Opal Tel Ltd)", "Talk Talk (Opal Tel Ltd)" }, + { 234, 16, "Talk Talk", "Talk Talk" }, { 234, 17, "FleXtel Limited", "FleXtel Limited" }, { 234, 18, "Cloud9", "Cloud9" }, { 234, 19, "Private Mobile Networks PMN", "Private Mobile Networks PMN" }, { 234, 20, "3", "3" }, { 234, 22, "RoutoMessaging", "RoutoMessaging" }, + { 234, 23, "Icron Network Limited", "Icron Network Limited" }, { 234, 24, "Greenfone", "Greenfone" }, { 234, 25, "Truphone", "Truphone" }, - { 234, 27, "United Kingdom of Great Britain and Northern Ireland", "United Kingdom of Great Britain and Northern Ireland" }, - { 234, 30, "T-Mobile (UK)", "T-Mobile (UK)" }, + { 234, 26, "Lycamobile", "Lycamobile" }, + { 234, 27, "Teleena UK Limited", "Teleena UK Limited" }, + { 234, 28, "Marathon Telecom Ltd", "Marathon Telecom Ltd" }, + { 234, 29, "aql", "aql" }, + { 234, 30, "T-Mobile UK", "T-Mobile UK" }, { 234, 31, "Virgin Mobile UK", "Virgin Mobile UK" }, { 234, 32, "Virgin Mobile UK", "Virgin Mobile UK" }, { 234, 33, "Orange (UK)", "Orange (UK)" }, { 234, 34, "Orange (UK)", "Orange (UK)" }, { 234, 35, "JSC Ingenium (UK) Limited", "JSC Ingenium (UK) Limited" }, - { 234, 36, "Cable and Wireless Isle of Man Limited", "Cable and Wireless Isle of Man Limited" }, + { 234, 36, "Sure (Isle of Man) Limited", "Sure (Isle of Man) Limited" }, { 234, 37, "Synectiv Ltd", "Synectiv Ltd" }, + { 234, 38, "Virgin Mobile UK", "Virgin Mobile UK" }, + { 234, 39, "SSE Energy Supply Limited", "SSE Energy Supply Limited" }, { 234, 50, "JT", "JT" }, - { 234, 51, "UK Broadband Limited", "UK Broadband Limited" }, + { 234, 51, "UK Broadband", "UK Broadband" }, + { 234, 52, "Shyam Telecom UK Ltd", "Shyam Telecom UK Ltd" }, + { 234, 53, "Limitless Mobile Ltd", "Limitless Mobile Ltd" }, { 234, 55, "Cable & Wireless Guernsey / Sure Mobile (Jersey)", "Cable & Wireless Guernsey / Sure Mobile (Jersey)" }, { 234, 58, "Manx Telecom", "Manx Telecom" }, { 234, 76, "BT", "BT" }, { 234, 78, "Airwave", "Airwave" }, + { 234, 86, "EE", "EE" }, { 235, 1, "EE", "EE" }, { 235, 2, "EE", "EE" }, + { 235, 3, "UK Broadband", "UK Broadband" }, { 235, 77, "BT", "BT" }, { 235, 91, "Vodafone United Kingdom", "Vodafone United Kingdom" }, { 235, 92, "Cable & Wireless UK", "Cable & Wireless UK" }, @@ -2144,13 +2359,9 @@ struct plmn_list_entry plmn_list[] = { // United States of America - US - { 310, 53, "Virgin Mobile US", "Virgin Mobile US" }, - { 310, 54, "Alltel US", "Alltel US" }, - { 310, 66, "U.S. Cellular", "U.S. Cellular" }, { 310, 4, "Verizon", "Verizon" }, { 310, 5, "Verizon", "Verizon" }, { 310, 10, "MCI", "MCI" }, - { 310, 12, "Verizon", "Verizon" }, { 310, 13, "MobileTel", "MobileTel" }, { 310, 14, "Testing", "Testing" }, { 310, 16, "Cricket Communications", "Cricket Communications" }, @@ -2161,11 +2372,14 @@ struct plmn_list_entry plmn_list[] = { { 310, 34, "Airpeak", "Airpeak" }, { 310, 40, "Concho", "Concho" }, { 310, 46, "SIMMETRY", "SIMMETRY" }, + { 310, 53, "Virgin Mobile US", "Virgin Mobile US" }, + { 310, 54, "Alltel US", "Alltel US" }, { 310, 60, "Consolidated Telcom", "Consolidated Telcom" }, + { 310, 66, "U.S. Cellular", "U.S. Cellular" }, { 310, 70, "Highland Cellular", "Highland Cellular" }, { 310, 80, "Corr", "Corr" }, { 310, 90, "Cricket Communications", "Cricket Communications" }, - { 310, 100, "Plateau Wireless ", "Plateau Wireless " }, + { 310, 100, "Plateau Wireless", "Plateau Wireless" }, { 310, 110, "PTI Pacifica", "PTI Pacifica" }, { 310, 120, "Sprint", "Sprint" }, { 310, 150, "AT&T", "AT&T" }, @@ -2243,6 +2457,7 @@ struct plmn_list_entry plmn_list[] = { { 310, 980, "AT&T", "AT&T" }, { 310, 990, "AT&T", "AT&T" }, { 311, 10, "Chariton Valley", "Chariton Valley" }, + { 311, 12, "Verizon", "Verizon" }, { 311, 20, "Missouri RSA 5 Partnership", "Missouri RSA 5 Partnership" }, { 311, 30, "Indigo Wireless", "Indigo Wireless" }, { 311, 40, "Commnet Wireless", "Commnet Wireless" }, @@ -2267,9 +2482,13 @@ struct plmn_list_entry plmn_list[] = { { 311, 330, "Bug Tussel Wireless", "Bug Tussel Wireless" }, { 311, 480, "Verizon", "Verizon" }, { 311, 481, "Verizon", "Verizon" }, - { 311, 660, "metroPCS ", "metroPCS " }, + { 311, 490, "Sprint Corporation", "Sprint Corporation" }, + { 311, 580, "U.S. Cellular", "U.S. Cellular" }, + { 311, 660, "metroPCS", "metroPCS" }, + { 311, 870, "Boost", "Boost" }, { 311, 960, "Lycamobile", "Lycamobile" }, { 311, 970, "Big River Broadband", "Big River Broadband" }, + { 312, 590, "NMU", "NMU" }, { 313, 100, "700 MHz Public Safety Broadband", "700 MHz Public Safety Broadband" }, { 313, 101, "700 MHz Public Safety Broadband", "700 MHz Public Safety Broadband" }, { 316, 10, "Nextel", "Nextel" }, @@ -2289,18 +2508,20 @@ struct plmn_list_entry plmn_list[] = { { 434, 5, "Ucell", "Ucell" }, { 434, 6, "Perfectum Mobile", "Perfectum Mobile" }, { 434, 7, "MTS", "MTS" }, + { 434, 3, "UzMobile", "UzMobile" }, // Vanuatu - VU { 541, 1, "SMILE", "SMILE" }, { 541, 5, "Digicel", "Digicel" }, + { 541, 7, "WanTok", "WanTok" }, // Vatican - VA // Venezuela - VE - { 734, 1, "Digitel ", "Digitel " }, + { 734, 1, "Digitel", "Digitel" }, { 734, 2, "Digitel GSM", "Digitel GSM" }, { 734, 3, "Digitel", "Digitel" }, { 734, 4, "movistar", "movistar" }, @@ -2308,14 +2529,14 @@ struct plmn_list_entry plmn_list[] = { // Vietnam - VN - { 452, 1, "MobiFone ", "MobiFone " }, + { 452, 1, "MobiFone", "MobiFone" }, { 452, 2, "Vinaphone", "Vinaphone" }, { 452, 3, "S-Fone", "S-Fone" }, { 452, 4, "Viettel Mobile", "Viettel Mobile" }, { 452, 5, "Vietnamobile (HT Mobile )", "Vietnamobile (HT Mobile )" }, { 452, 6, "EVNTelecom", "EVNTelecom" }, - { 452, 8, "3G EVNTelecom", "3G EVNTelecom" }, { 452, 7, "G-Mobile", "G-Mobile" }, + { 452, 8, "3G EVNTelecom", "3G EVNTelecom" }, // Yemen - YE @@ -2371,7 +2592,11 @@ struct plmn_list_entry plmn_list[] = { { 901, 34, "tyntec GmbH", "tyntec GmbH" }, { 901, 35, "Globecomm Network Services", "Globecomm Network Services" }, { 901, 36, "Azerfon", "Azerfon" }, + { 901, 39, "MTX Connect Ltd", "MTX Connect Ltd" }, { 901, 88, "UN Office for the Coordination of Humanitarian Affairs (OCHA)", "UN Office for the Coordination of Humanitarian Affairs (OCHA)" }, }; +unsigned int plmn_list_count = sizeof(plmn_list) / + sizeof(struct plmn_list_entry); + #endif diff --git a/include/plmn_list.sh b/include/plmn_list.sh index 26e9616..0a17068 100755 --- a/include/plmn_list.sh +++ b/include/plmn_list.sh @@ -1,22 +1,26 @@ #!/bin/sh # -# Copyright 2012 Paul Kocialkowski, GPLv3+ +# Copyright 2012-2014 Paul Kocialkowski, GPLv3+ # # This script is a dirty hack, keep in mind that is was written in a hurry -# and doesn't reflect our code cleanness standards. +# and doesn't reflect our code cleanness standards. # Any (working) replacement written in a cleaner way, such as a perl script # would be greatly appreciated. -echo "/**" -echo " * This list was generated from http://en.wikipedia.org/wiki/Mobile_Network_Code" -echo " * " +echo "/*" +echo " * This list was generated from:" +echo " * http://en.wikipedia.org/wiki/Mobile_country_code" +echo " *" echo " * Date: "$( date "+%x %X" ) -echo " * Copyright: Wikipedia Contributors, Creative Commons Attribution-ShareAlike License" +echo " * Copyright: Wikipedia Contributors, Creative Commons" +echo " * Attribution-ShareAlike License" echo " */" echo "" echo "#ifndef _PLMN_LIST_H_" echo "#define _PLMN_LIST_H_" echo "" +echo "#include " +echo "" echo "struct plmn_list_entry {" echo " unsigned int mcc;" echo " unsigned int mnc;" @@ -26,7 +30,7 @@ echo "};" echo "" echo "struct plmn_list_entry plmn_list[] = {" -wget "http://en.wikipedia.org/w/index.php?title=Special:Export&pages=Mobile_country_code&action=submit" --quiet -O - | tr -d '\n' | sed -e "s|.*]*>\(.*\).*|\1|g" -e "s/|-/\n|-\n/g" | sed -e "s/\(}===.*\)/\n\1/g" -e "s/===={.*/===={\n/g" -e "s/\&/\&/g" -e "s/\<[^\&]*\>//g" -e "s/"//g" -e "s#\[http[^]]*\]##g" -e "s#\[\[\([^]|]*\)|\([^]]*\)\]\]#\2#g" -e "s#\[\[\([^]]*\)\]\]#\1#g" -e "s#\[\([^] ]*\) \([^]]*\)\]#\2#g" | tail -n +2 | sed "s|.*=== \(.*\) ===.*|// \1|g" | grep -v "|-" | while read line +wget "http://en.wikipedia.org/w/index.php?title=Special:Export&pages=Mobile_country_code&action=submit" --quiet -O - | tr -d '\n' | sed -e "s|.*]*>\(.*\).*|\1|g" -e "s/|-/\n|-\n/g" | sed -e "s/\(}===.*\)/\n\1/g" -e "s/===={.*/===={\n/g" -e "s/\&/\&/g" -e "s/\<[^\&]*\>//g" -e "s/"//g" -e "s#\[http[^]]*\]##g" -e "s#\[\[\([^]|]*\)|\([^]]*\)\]\]#\2#g" -e "s#\[\[\([^]]*\)\]\]#\1#g" -e "s#\[\([^] ]*\) \([^]]*\)\]#\2#g" -e "s#{{[^}]*}}##g" | tail -n +2 | sed "s|.*==== *\([^=]*\) *====.*|// \1|g" | grep -v "|-" | while read line do if [ "$line" = "" ] then @@ -37,7 +41,7 @@ do if [ ! "$test" = "" ] then - echo "\n\t$line\n" | sed -e "s#[^|]*|\(.*\)#// \1#g" -e "s/^ //g" -e "s/ $//g" + echo "\n\t$line\n" | sed -e "s#[^|]*|\(.*\)#// \1#g" -e "s/^ //g" -e "s/ $//g" -e "s/ / /g" continue fi @@ -48,10 +52,10 @@ do continue fi - mcc=$( echo "$line" | sed -e "s#[^|]*|[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\).*#\1#g" -e "s/^ //g" -e "s/ $//g" -e "s/[^1-9]*\([0-9]*\).*/\1/g") - mnc=$( echo "$line" | sed -e "s#[^|]*|[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\).*#\2#g" -e "s/^ //g" -e "s/ $//g" -e "s/[^1-9]*\([0-9]*\).*/\1/g") - brand=$( echo "$line" | sed -e "s#[^|]*|[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\).*#\3#g" -e "s/^ //g" -e "s/ $//g" ) - operator=$( echo "$line" | sed -e "s#[^|]*|[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\).*#\4#g" -e "s/^ //g" -e "s/ $//g" ) + mcc=$( echo "$line" | sed -e "s#[^|]*|[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\).*#\1#g" -e "s/^[ |\t]*//g" -e "s/ [ |\t]*$//g" -e "s/[^1-9]*\([0-9]*\).*/\1/g") + mnc=$( echo "$line" | sed -e "s#[^|]*|[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\).*#\2#g" -e "s/^[ |\t]*//g" -e "s/ [ |\t]*$//g" -e "s/[^1-9]*\([0-9]*\).*/\1/g") + brand=$( echo "$line" | sed -e "s#[^|]*|[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\).*#\3#g" -e "s/^[ |\t]*//g" -e "s/ [ |\t]*$//g" ) + operator=$( echo "$line" | sed -e "s#[^|]*|[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\)[ ]*||[ ]*\([^|]*\).*#\4#g" -e "s/^[ |\t]*//g" -e "s/ [ |\t]*$//g" ) if [ "$mcc" = "" ] || [ "$mcc" = "?" ] then @@ -78,4 +82,7 @@ done echo "};" echo "" +echo "unsigned int plmn_list_count = sizeof(plmn_list) /" +echo "\tsizeof(struct plmn_list_entry);" +echo "" echo "#endif" diff --git a/include/ril_oem.h b/include/ril_oem.h new file mode 100644 index 0000000..c38db00 --- /dev/null +++ b/include/ril_oem.h @@ -0,0 +1,52 @@ +/* + * This file is part of Samsung-RIL. + * + * Copyright (C) 2013-2014 Paul Kocialkowski + * + * Samsung-RIL is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Samsung-RIL is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Samsung-RIL. If not, see . + */ + +#ifndef _RIL_OEM_H_ +#define _RIL_OEM_H_ + +#include + +#define RIL_OEM_HOOK_TAG_SVC 1 + +#define RIL_OEM_COMMAND_SVC_ENTER_MODE 1 +#define RIL_OEM_COMMAND_SVC_END_MODE 2 +#define RIL_OEM_COMMAND_SVC_KEY 3 + +typedef struct { + unsigned char tag; + unsigned char command; + unsigned short length; +} RIL_OEMHookHeader; + +typedef struct { + unsigned char mode; + unsigned char type; + unsigned char query; +} RIL_OEMHookSvcEnterMode; + +typedef struct { + unsigned char mode; +} RIL_OEMHookSvcEndMode; + +typedef struct { + unsigned char key; + unsigned char query; +} RIL_OEMHookSvcKey; + +#endif diff --git a/include/samsung-ril-socket.h b/include/samsung-ril-socket.h index d231e62..9e919d1 100644 --- a/include/samsung-ril-socket.h +++ b/include/samsung-ril-socket.h @@ -1,7 +1,7 @@ /* * This file is part of Samsung-RIL. * - * Copyright (C) 2011-2013 Paul Kocialkowski + * Copyright (C) 2011-2014 Paul Kocialkowski * * Samsung-RIL is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,40 +17,36 @@ * along with Samsung-RIL. If not, see . */ -/* Samsung RIL Socket protocol defines */ - #ifndef _SAMSUNG_RIL_SOCKET_H_ #define _SAMSUNG_RIL_SOCKET_H_ -#define SRS_COMMAND(f) ((f->group << 8) | f->index) -#define SRS_GROUP(m) (m >> 8) -#define SRS_INDEX(m) (m & 0xff) +#include -#define SRS_SOCKET_NAME "samsung-ril-socket" -#define SRS_DATA_MAX_SIZE 0x1000 +/* + * Groups + */ -#define SRS_CONTROL 0x01 -#define SRS_CONTROL_PING 0x0101 +#define SRS_GROUP_CONTROL 0x01 +#define SRS_GROUP_SND 0x02 -#define SRS_SND 0x02 -#define SRS_SND_SET_CALL_VOLUME 0x0201 -#define SRS_SND_SET_CALL_AUDIO_PATH 0x0202 -#define SRS_SND_SET_CALL_CLOCK_SYNC 0x0203 +/* + * Commands + */ -#define SRS_CONTROL_CAFFE 0xCAFFE +#define SRS_CONTROL_PING 0x0101 -struct srs_header { - unsigned int length; - unsigned char group; - unsigned char index; -} __attribute__((__packed__)); +#define SRS_SND_SET_CALL_VOLUME 0x0201 +#define SRS_SND_SET_CALL_AUDIO_PATH 0x0202 +#define SRS_SND_SET_CALL_CLOCK_SYNC 0x0203 -struct srs_message { - unsigned short command; - int length; - void *data; -}; +/* + * Values + */ + +#define SRS_SOCKET_NAME "samsung-ril-socket" +#define SRS_BUFFER_LENGTH 0x1000 +#define SRS_CONTROL_CAFFE 0xCAFFE enum srs_snd_type { SRS_SND_TYPE_VOICE, @@ -73,21 +69,45 @@ enum srs_snd_clock { SND_CLOCK_START }; -struct srs_snd_call_volume { +/* + * Macros + */ + +#define SRS_COMMAND(group, index) ((group << 8) | index) +#define SRS_GROUP(command) (command >> 8) +#define SRS_INDEX(command) (command & 0xff) + +/* + * Structures + */ + +struct srs_message { + unsigned short command; + void *data; + size_t size; +}; + +struct srs_header { + unsigned int length; + unsigned char group; + unsigned char index; +} __attribute__((__packed__)); + +struct srs_control_ping_data { + unsigned int caffe; +} __attribute__((__packed__)); + +struct srs_snd_call_volume_data { enum srs_snd_type type; int volume; } __attribute__((__packed__)); -struct srs_snd_call_audio_path { +struct srs_snd_call_audio_path_data { enum srs_snd_path path; } __attribute__((__packed__)); -struct srs_snd_call_clock_sync { +struct srs_snd_call_clock_sync_data { unsigned char sync; } __attribute__((__packed__)); -struct srs_control_ping { - int caffe; -} __attribute__((__packed__)); - #endif diff --git a/include/sim.h b/include/sim.h index dc16808..d3ec95c 100644 --- a/include/sim.h +++ b/include/sim.h @@ -1,7 +1,7 @@ /* * This file is part of Samsung-RIL. * - * Copyright (C) 2013 Paul Kocialkowski + * Copyright (C) 2013-2014 Paul Kocialkowski * * Samsung-RIL is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,22 +20,36 @@ #ifndef _SIM_H_ #define _SIM_H_ -// Values from TS 11.11 -#define SIM_COMMAND_READ_BINARY 0xB0 -#define SIM_COMMAND_UPDATE_BINARY 0xD6 -#define SIM_COMMAND_READ_RECORD 0xB2 -#define SIM_COMMAND_UPDATE_RECORD 0xDC -#define SIM_COMMAND_SEEK 0xA2 -#define SIM_COMMAND_GET_RESPONSE 0xC0 +#include -#define SIM_FILE_STRUCTURE_TRANSPARENT 0x00 -#define SIM_FILE_STRUCTURE_LINEAR_FIXED 0x01 -#define SIM_FILE_STRUCTURE_CYCLIC 0x03 +#define SIM_COMMAND_READ_BINARY 0xB0 +#define SIM_COMMAND_UPDATE_BINARY 0xD6 +#define SIM_COMMAND_READ_RECORD 0xB2 +#define SIM_COMMAND_UPDATE_RECORD 0xDC +#define SIM_COMMAND_SEEK 0xA2 +#define SIM_COMMAND_GET_RESPONSE 0xC0 -#define SIM_FILE_TYPE_RFU 0x00 -#define SIM_FILE_TYPE_MF 0x01 -#define SIM_FILE_TYPE_DF 0x02 -#define SIM_FILE_TYPE_EF 0x04 +#define SIM_FILE_STRUCTURE_TRANSPARENT 0x00 +#define SIM_FILE_STRUCTURE_LINEAR_FIXED 0x01 +#define SIM_FILE_STRUCTURE_CYCLIC 0x03 + +#define SIM_FILE_TYPE_RFU 0x00 +#define SIM_FILE_TYPE_MF 0x01 +#define SIM_FILE_TYPE_DF 0x02 +#define SIM_FILE_TYPE_EF 0x04 + +struct sim_file_response { + unsigned char rfu12[2]; + unsigned char file_size[2]; + unsigned char file_id[2]; + unsigned char file_type; + unsigned char rfu3; + unsigned char access_condition[3]; + unsigned char file_status; + unsigned char file_length; + unsigned char file_structure; + unsigned char record_length; +} __attribute__((__packed__)); struct sim_file_id { unsigned short file_id; @@ -85,19 +99,7 @@ struct sim_file_id sim_file_ids[] = { { 0x7F20, SIM_FILE_TYPE_DF }, }; -int sim_file_ids_count = sizeof(sim_file_ids) / sizeof(sim_file_ids[0]); - -struct sim_file_response { - unsigned char rfu12[2]; - unsigned char file_size[2]; - unsigned char file_id[2]; - unsigned char file_type; - unsigned char rfu3; - unsigned char access_condition[3]; - unsigned char file_status; - unsigned char file_length; - unsigned char file_structure; - unsigned char record_length; -} __attribute__((__packed__)); +unsigned int sim_file_ids_count = sizeof(sim_file_ids) / + sizeof(struct sim_file_id); #endif -- cgit v1.1