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

Reply via email to