Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=fvbe.git;a=commitdiff;h=04f95c4bd2fb2424a030ab96b04fd61ec37f1efe
commit 04f95c4bd2fb2424a030ab96b04fd61ec37f1efe Author: James Buren <[email protected]> Date: Tue May 28 01:52:18 2013 -0500 nmconfig: add callback function which setups up the nmdevice struct diff --git a/src/local.h b/src/local.h index 4a192a3..17a33cb 100644 --- a/src/local.h +++ b/src/local.h @@ -90,6 +90,26 @@ struct disk; struct raid; +struct nmdevice +{ + char *device; + char *type; + char *vendor; + char *product; + char *driver; + char *driverversion; + char *firmwareversion; + char *hwaddr; + int state; + int reason; + char *udi; + char *ipiface; + bool nmmanaged; + bool autoconnect; + bool firmwaremissing; + char *connection; +}; + struct format { char *devicepath; diff --git a/src/nmconfig.c b/src/nmconfig.c index 0e39565..7afcde5 100644 --- a/src/nmconfig.c +++ b/src/nmconfig.c @@ -75,6 +75,99 @@ static inline bool nm_parse_line(const char *line,bool (*cb) (int,const char *,v return true; } +static bool nm_parse_device(int token,const char *value,void *data) +{ + struct nmdevice *p = data; + bool rv = true; + + switch(token) + { + case 1: + rv = (strcmp(value,"GENERAL") == 0); + break; + + case 2: + p->device = strdup(value); + break; + + case 3: + p->type = strdup(value); + break; + + case 4: + p->vendor = strdup(value); + break; + + case 5: + p->product = strdup(value); + break; + + case 6: + p->driver = strdup(value); + break; + + case 7: + p->driverversion = strdup(value); + break; + + case 8: + p->firmwareversion = strdup(value); + break; + + case 9: + p->hwaddr = strdup(value); + break; + + case 10: + p->state = atoi(value); + break; + + case 11: + p->reason = atoi(value); + break; + + case 12: + p->udi = strdup(value); + break; + + case 13: + p->ipiface = strdup(value); + break; + + case 14: + if(strcmp(value,"yes") == 0) + p->nmmanaged = true; + else if(strcmp(value,"no") == 0) + p->nmmanaged = false; + break; + + case 15: + if(strcmp(value,"yes") == 0) + p->autoconnect = true; + else if(strcmp(value,"no") == 0) + p->autoconnect = false; + break; + + case 16: + if(strcmp(value,"yes") == 0) + p->firmwaremissing = true; + else if(strcmp(value,"no") == 0) + p->firmwaremissing = false; + break; + + case 17: + p->connection = strdup(value); + break; + + default: + eprintf("%s: unknown token value of %d\n",__func__,token); + rv = false; + break; + } + + return rv; +} + static bool nmconfig_start(void) { return true; _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
