diff --git a/libmobile_wrapper.c b/libmobile_wrapper.c new file mode 100644 index 0000000000000000000000000000000000000000..ed432dae402b63aac30c1a6aaa3ccb14f0a5da17 --- /dev/null +++ b/libmobile_wrapper.c @@ -0,0 +1,34 @@ +#include <stdio.h> + +typedef struct write_result *(*func_ptr)(char *, char *); + +//Example... +struct write_result *mobile_pin_set_zte(char *current_pin, char *new_pin) +{ + return pin_action("03", current_pin, new_pin, ""); +} + + +struct write_result *mobile_pin_set_hilink(char *current_pin, char *new_pin) +{ + return pin_action("03", current_pin, new_pin, ""); +} + + + + +struct write_result *mobile_pin_set(char *dongle, char *current_pin, char *new_pin) +{ + func_ptr mobile_pin_set_impl = NULL; + + if (strcmp(dongle, "zte") == 0) + mobile_pin_set_impl = mobile_pin_set_zte; + + if (strcmp(dongle, "hilink") == 0) + mobile_pin_set_impl = mobile_pin_set_hilink; + + if (mobile_pin_set_impl) + mobile_pin_set_impl(current_pin, new_pin); +} + +