Questo probabilmente è il mio primo programma fatto con libgnokii, il file è datato 2005-07-16 19:30:17.
L'utilità è abbastanza limitata: serve per visualizzare il codice numerico di una rete cellulare formato da MCC e MNC
, dove MCC (Mobile Country Code) è un numero di tre cifre che indica una nazione e MNC (Mobile Network Code) è un numero di due cifre che indica un operatore GSM.
Gli argomenti da fornire sulla riga di comando sono il nome di un operatore e opzionalmente il nome inglese di una nazione (Italy è il nome predefinito, se permetti) ignorando la differenza tra maiuscole e minuscole.
La lista degli operatori italiani presenti nel file common/gsm-networks.c,v 1.43 2006/06/11 16:39:48 va integrata perché ci sono solo:
"Telecom Italia Mobile"
"vodafone"
"Wind Telecomunicazioni SpA"
Edit: in realtà era presente anche "H3G", ora ho aggiunto "Blu SpA", anche se non esiste più, è nella lista dei "forbidden networks" della mia vecchia SIM.
Esempio:
$ network_code foo foo Italy (undefined) $ network_code vodafone italy vodafone italy (222 10) $ network_code vodafone germany vodafone germany (262 02)
Questo è il programmino (manca un return 0; alla fine...):
// gcc -I include/ network_code.c -o network_code
// Daniele Forsi
//
#include "common/gsm-networks.c"
int main( int argc, char *argv[] ) {
char *country, *code;
if ( argc == 2 ) {
country = "Italy";
} else if ( argc == 3 ) {
country = argv[ 2 ];
} else {
printf( "Usage: %s network_code [country_name]\n", argv[0]);
exit( 1 );
}
code = gn_network_code_find(argv[1],country);
if ( code ) {
printf("%s %s (%s)\n", argv[1], country, code );
} else {
printf("Not found %s %s \n", argv[1],country);
}
}