☰
Current Page
Main Menu
Home
Home
Editing
come_gestire_config_net
Edit
Preview
h1
h2
h3
Keybinding
default
vim
emacs
Markup
AsciiDoc
Creole
Markdown
MediaWiki
Org-mode
Plain Text
RDoc
Textile
BibTeX
Pod
reStructuredText
Help 1
Help 1
Help 1
Help 2
Help 3
Help 4
Help 5
Help 6
Help 7
Help 8
Autosaved text is available. Click the button to restore it.
Restore Text
# Come gestire un nuovo config.net dinamico e statico (da modificare) Nel **common.h** (o comunque in un file .h incluso nel common): #ifdef INCLUDES_FOR_IDE #include <stdlib.h> #include <string.h> #endif char esito_azione_confignet[64] = ""; // stringa dell' esito dell' azione di config.net U8 CODICE_SW[32] = "MW30632"; // codice del software U8 Vers_SW[32] = "Vers 1.0"; // versione del software // funzione che resetta la stringa dell' esito di config.net void timer_resetta_esito_azione_confignet(void) { snprintf(esito_azione_confignet, sizeof(esito_azione_confignet), ""); } // funzione che genera un config.net statico void genera_CONFIG_NET_statico(unsigned char ip_1, unsigned char ip_2, unsigned char ip_3, unsigned char ip_4) { FILE* fd = fopen("C:\\CONFIG.NET", "w"); // apre il file nel percorso "C:\\CONFIG:NET" in modalità scrittura if (!fd) // se fp == 0 --> la fopen non ha vavuto succsso { // stampa nell' esito il messaggio di errrore e dopo 30 sec lo resetta, esce dalla funzione snprintf(esito_azione_confignet, sizeof(esito_azione_confignet), "Errore creazione CONFIG.NET"); exec_timer(timer_resetta_esito_azione_confignet, ONCE, 30 SEC); return; } // se la fopen ha avuto successo // stampa sul file le varie scritte e byte degli ip fprintf(fd, "// CONFIG.NET autogenerato\n"); fprintf(fd, "// dal software %s vers %s\n", CODICE_SW, Vers_SW); fprintf(fd, "// IP STATICO %u.%u.%u.%u\n", ip_1, ip_2, ip_3, ip_4); fprintf(fd, "@ETHERNET 1\n"); fprintf(fd, "@WIFI 0\n"); fprintf(fd, "@mac_family 00 25 33\n"); fprintf(fd, "@mac_number 101 222 %u\n", ip_4); if (ip_4 > 200 && ip_4 < 210) { fprintf(fd, "@perif %u\n", ip_4 - 200); fprintf(fd, "@net_ip perif%u\n", ip_4 - 200); } else { // Se siamo fuori dal range 201-209 metto perif 5 come default // in questo modo se uno vuole avere il quarto byte dell'ip e perif // in sincrono sceglie un numero dentro quell'intervallo, altrimenti // se si vuole un ip generico si avra' la perif5 fprintf(fd, "@perif 5\n"); fprintf(fd, "@net_ip perif5\n"); } fprintf(fd, "@ip %u %u %u %u\n", ip_1, ip_2, ip_3, ip_4); fprintf(fd, "@force_ip 0 0 0 %u\n", ip_4); fprintf(fd, "@vnc 5900 32001\n"); fprintf(fd, "@ftp C:\\\n"); fprintf(fd, "\n"); fclose(fd); // chiude il file fd // stampa nell' esito dell' azione di config.net il messaggio di successo elo resetta dopo 15 sec snprintf(esito_azione_confignet, sizeof(esito_azione_confignet), "CONFIG.NET statico creato!"); exec_timer(timer_resetta_esito_azione_confignet, ONCE, 15 SEC); } // questa funzione genera un config.net dinamico void genera_CONFIG_NET_dinamico(unsigned char ip_1, unsigned char ip_2, unsigned char ip_3, unsigned char ip_4) { FILE* fd = fopen("C:\\CONFIG.NET", "w"); // apre il file del precorso "C:\\CONFIG:NET" in modalità scrittura if (!fd) // se fd == 0 --> fopen non ha avuto scuccesso return; // esce dalla funzione // stampa nel file le varie scritte e i byte degli ip fprintf(fd, "// CONFIG.NET autogenerato\n"); fprintf(fd, "// dal software %s vers %s\n", CODICE_SW, Vers_SW); fprintf(fd, "// IP DINAMICO %u.%u.%u.%u\n", ip_1, ip_2, ip_3, ip_4); fprintf(fd, "@ETHERNET 1\n"); fprintf(fd, "@WIFI 0\n"); fprintf(fd, "@mac_family 00 25 33\n"); fprintf(fd, "@mac_number 101 222 %u\n", ip_4); if (ip_4 > 200 && ip_4 < 210) { fprintf(fd, "@perif %u\n", ip_4 - 200); fprintf(fd, "@net_ip perif%u\n", ip_4 - 200); } else { // Se siamo fuori dal range 201-209 metto perif 5 come default // in questo modo se uno vuole avere il quarto byte dell'ip e perif // in sincrono sceglie un numero dentro quell'intervallo, altrimenti // se si vuole un ip generico si avra' la perif5 fprintf(fd, "@perif 5\n"); fprintf(fd, "@net_ip perif5\n"); } fprintf(fd, "@vnc 5900 32001\n"); fprintf(fd, "@ftp C:\\\n"); fprintf(fd, "\n"); fclose(fd); // chiude il file fd // stampa sull' esito dell' azione di config.net il messaggio di successo e dopo 15 sec lo resetta snprintf(esito_azione_confignet, sizeof(esito_azione_confignet), "CONFIG.NET dinamico creato!"); exec_timer(timer_resetta_esito_azione_confignet, ONCE, 15 SEC); }
Uploading file...
Edit message:
Cancel