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); } }