summaryrefslogtreecommitdiff
path: root/src/libosfp_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libosfp_common.c')
-rw-r--r--src/libosfp_common.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/libosfp_common.c b/src/libosfp_common.c
new file mode 100644
index 0000000..9351d49
--- /dev/null
+++ b/src/libosfp_common.c
@@ -0,0 +1,36 @@
+#include "libosfp_common.h"
+
+const char *os_class_name[LIBOSFP_OS_CLASS_MAX] = {
+ LIBOSFP_OS_CLASS_NAME_WINDOWS,
+ LIBOSFP_OS_CLASS_NAME_LINUX,
+ LIBOSFP_OS_CLASS_NAME_MAC_OS,
+ LIBOSFP_OS_CLASS_NAME_IOS,
+ LIBOSFP_OS_CLASS_NAME_ANDROID
+};
+
+libosfp_os_class_id_t libosfp_os_class_name_to_id(char *name)
+{
+ libosfp_os_class_id_t os_class;
+
+ if (0 == strncmp(name, LIBOSFP_OS_CLASS_NAME_WINDOWS, strlen(LIBOSFP_OS_CLASS_NAME_WINDOWS))) {
+ os_class = LIBOSFP_OS_CLASS_WINDOWS;
+ } else if (0 == strncmp(name, LIBOSFP_OS_CLASS_NAME_LINUX, strlen(LIBOSFP_OS_CLASS_NAME_LINUX))) {
+ os_class = LIBOSFP_OS_CLASS_LINUX;
+ } else if (0 == strncmp(name, LIBOSFP_OS_CLASS_NAME_MAC_OS, strlen(LIBOSFP_OS_CLASS_NAME_MAC_OS))) {
+ os_class = LIBOSFP_OS_CLASS_MAC_OS;
+ } else if (0 == strncmp(name, LIBOSFP_OS_CLASS_NAME_IOS, strlen(LIBOSFP_OS_CLASS_NAME_IOS))) {
+ os_class = LIBOSFP_OS_CLASS_IOS;
+ } else if (0 == strncmp(name, LIBOSFP_OS_CLASS_NAME_ANDROID, strlen(LIBOSFP_OS_CLASS_NAME_ANDROID))) {
+ os_class = LIBOSFP_OS_CLASS_ANDROID;
+ } else {
+ os_class = LIBOSFP_OS_CLASS_MAX;
+ }
+
+ return os_class;
+}
+
+const char *libosfp_os_class_id_to_name(libosfp_os_class_id_t os_class)
+{
+ return os_class_name[os_class];
+}
+