Korrektur zum speichern der 30-udev Datei.

git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@641 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
casemaster
2007-06-20 21:37:19 +00:00
parent ad60e3ead1
commit 9c1c1c57ea
3 changed files with 62 additions and 30 deletions

View File

@@ -43,7 +43,6 @@
#define DHCP 3
#define NETCHANGE_TOTAL 4
#define KNOWN_NICS "/var/ipfire/ethernet/known_nics"
#define SCANNED_NICS "/var/ipfire/ethernet/scanned_nics"
#define _GREEN_CARD_ 0
@@ -94,6 +93,7 @@ int gettype(char *type);
int setnetaddress(struct keyvalue *kv, char *colour);
void networkdialogcallbacktype(newtComponent cm, void *data);
int interfacecheck(struct keyvalue *kv, char *colour);
int init_knics(void);
int create_udev(void);
int scan_network_cards(void);
int nicmenu(int colour);

View File

@@ -366,6 +366,51 @@ void strupper(unsigned char *string)
}
*/
int get_knic(int card) //returns "0" for zero cards or error and "1" card is found.
{
struct keyvalue *kv = initkeyvalues();
char temp[STRING_SIZE], searchstr[STRING_SIZE];
int ret_value;
if (!(readkeyvalues(kv, CONFIG_ROOT "/ethernet/settings")))
{
freekeyvalues(kv);
errorbox(ctr[TR_UNABLE_TO_OPEN_SETTINGS_FILE]);
return 0;
}
sprintf(searchstr, "%s_MACADDR", ucolourcard[card]);
strcpy(temp, ""); findkey(kv, searchstr, temp);
if (strlen(temp)) {
strcpy(knics[ card ].macaddr, temp);
strcpy(knics[ card ].colour, "GREEN");
sprintf(searchstr, "%s_DESCRIPTION", ucolourcard[card]);
findkey(kv, searchstr, temp);
strcpy(knics[ card ].description, temp);
sprintf(searchstr, "%s_DRIVER", ucolourcard[card]);
findkey(kv, searchstr, temp);
strcpy(knics[ card ].driver, temp);
ret_value = 1;
} else {
strcpy(knics[ card ].description, ctr[TR_UNSET]);
ret_value = 0;
}
return ret_value;
}
int init_knics(void)
{
int found = 0;
found += get_knic(_GREEN_CARD_);
found += get_knic(_RED_CARD_);
found += get_knic(_ORANGE_CARD_);
found += get_knic(_BLUE_CARD_);
return found;
}
int create_udev(void)
{