summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPali Rohár <pali.rohar@gmail.com>2012-08-07 16:57:55 +0200
committerPali Rohár <pali.rohar@gmail.com>2012-08-07 16:57:55 +0200
commit03eeca994daf1cbc78065de75ab182a5f3d17832 (patch)
treee6689f3a46f9ff61c39dd848e7b15947c340579a
parentb596e979266e71223d2e885625f1eee688dbe3d9 (diff)
download0xFFFF-03eeca994daf1cbc78065de75ab182a5f3d17832.tar.bz2
Added new files device.c and device.h
-rw-r--r--src/device.c39
-rw-r--r--src/device.h18
2 files changed, 57 insertions, 0 deletions
diff --git a/src/device.c b/src/device.c
new file mode 100644
index 0000000..d7b10f9
--- /dev/null
+++ b/src/device.c
@@ -0,0 +1,39 @@
+
+
+#include <stdlib.h>
+#include <stdint.h>
+#include <string.h>
+
+#include "device.h"
+
+static const char * devices[] = {
+ [DEVICE_SU_18] = "SU-18",
+ [DEVICE_RX_34] = "RX-34",
+ [DEVICE_RX_44] = "RX-44",
+ [DEVICE_RX_48] = "RX-48",
+ [DEVICE_RX_51] = "RX-51",
+};
+
+enum device device_from_string(const char * device) {
+
+ size_t i;
+
+ if ( ! device )
+ return DEVICE_ANY;
+
+ for ( i = 0; i < sizeof(devices)/sizeof(devices[0]); ++i )
+ if ( devices[i] && strcmp(devices[i], device) == 0 )
+ return i;
+
+ return DEVICE_UNKNOWN;
+
+}
+
+const char * device_to_string(enum device device) {
+
+ if ( device > sizeof(devices) )
+ return NULL;
+
+ return devices[device];
+
+}
diff --git a/src/device.h b/src/device.h
new file mode 100644
index 0000000..ec43855
--- /dev/null
+++ b/src/device.h
@@ -0,0 +1,18 @@
+
+#ifndef DEVICE_H
+#define DEVICE_H
+
+enum device {
+ DEVICE_UNKNOWN = 0,
+ DEVICE_ANY, /* Unspecified / Any device */
+ DEVICE_SU_18, /* Nokia 770 */
+ DEVICE_RX_34, /* Nokia N800 */
+ DEVICE_RX_44, /* Nokia N810 */
+ DEVICE_RX_48, /* Nokia N810 WiMax */
+ DEVICE_RX_51, /* Nokia N900 */
+};
+
+enum device device_from_string(const char * device);
+const char * device_to_string(enum device device);
+
+#endif