diff options
Diffstat (limited to 'src/libosfp_common.c')
| -rw-r--r-- | src/libosfp_common.c | 36 |
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]; +} + |
