Fix mbtk from v1265 GSW
Change-Id: I5d8d395616f284bc74c8b9448cfa347164b5a668
diff --git a/mbtk/test/libgsw_lib/gsw_pm_test.c b/mbtk/test/libgsw_lib/gsw_pm_test.c
new file mode 100755
index 0000000..933cf9e
--- /dev/null
+++ b/mbtk/test/libgsw_lib/gsw_pm_test.c
@@ -0,0 +1,132 @@
+#include <stdio.h>
+#include <string.h>
+#include <strings.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <sys/types.h>
+#include <unistd.h>
+#include <pthread.h>
+#include <termios.h>
+#include <time.h>
+#include <sys/ioctl.h>
+#include <dlfcn.h>
+#include <stdint.h>
+#include <stdbool.h>
+
+typedef void (*GSW_PM_WAKEUPCALLBACK)(int32_t wakeup_in);
+
+void tmp_callback(int32_t wakeup_in)
+{
+ printf("wackout value %d\n",wakeup_in);
+}
+
+int32_t (*gsw_autosleep_enable)(void);
+int32_t (*gsw_autosleep_disenable)(void);
+int32_t (*gsw_pm_sdk_init)(GSW_PM_WAKEUPCALLBACK );
+int32_t (*gsw_pm_enter_sleep)(const char *gsw_wakelock_name);
+int32_t (*gsw_pm_exit_sleep)(const char *gsw_wakelock_name);
+void (*gsw_modem_log_sync)(void);
+
+const char *tmp_name = "pm_test_lock";
+
+void *dlHandle_pm;
+char *lynqLib_pm = "/lib/libgsw_lib.so";
+
+void user_help(void)
+{
+ printf("\t1 autosleep_enable\n"
+ "\t2 autosleep_disenable \n"
+ "\t3 pm_sdk_init\n"
+ "\t4 pm_enter_sleep\n"
+ "\t5 pm_exit_sleep\n"
+ "\t6 modem_log_sync\n"
+ "please input operator: >> ");
+}
+
+int main(void)
+{
+ int ret;
+ int opt = 0;
+ dlHandle_pm = dlopen(lynqLib_pm, RTLD_NOW);
+ while(1)
+ {
+ printf("=========PM main=========\n");
+ user_help();
+ if (scanf("%d", &opt) != 1)
+ printf("input error,please check it");
+ while(getchar()!='\n');
+ switch (opt)
+ {
+ case 1:
+ {
+ gsw_autosleep_enable=(int32_t(*)())dlsym(dlHandle_pm, "gsw_autosleep_enable");
+ ret = gsw_autosleep_enable();
+ if(ret < 0)
+ {
+ printf("gsw_autosleep_enable FAIL.\n");
+ return -1;
+ }
+ printf("gsw_autosleep_enable success.\n");
+ return 0;
+ }
+ case 2:
+ {
+ gsw_autosleep_disenable=(int32_t(*)())dlsym(dlHandle_pm, "gsw_autosleep_disenable");
+ ret = gsw_autosleep_disenable();
+ if(ret < 0)
+ {
+ printf("gsw_autosleep_disenable FAIL.\n");
+ return -1;
+ }
+ printf("gsw_autosleep_disenable success.\n");
+ return 0;
+ }
+ case 3:
+ {
+ gsw_pm_sdk_init=(int32_t(*)(GSW_PM_WAKEUPCALLBACK ))dlsym(dlHandle_pm, "gsw_pm_sdk_init");
+ ret = gsw_pm_sdk_init(tmp_callback);
+ if(ret < 0)
+ {
+ printf("gsw_pm_sdk_init FAIL.\n");
+ return -1;
+ }
+ printf("gsw_pm_sdk_init success.\n");
+ break;
+ }
+ case 4:
+ {
+ gsw_pm_enter_sleep=(int32_t(*)(const char *gsw_wakelock_name))dlsym(dlHandle_pm, "gsw_pm_enter_sleep");
+ ret = gsw_pm_enter_sleep(tmp_name);
+ if(ret < 0)
+ {
+ printf("gsw_pm_enter_sleep FAIL.\n");
+ return -1;
+ }
+ printf("gsw_pm_enter_sleep success.\n");
+ return 0;
+ }
+ case 5:
+ {
+ gsw_pm_exit_sleep=(int32_t(*)(const char *gsw_wakelock_name))dlsym(dlHandle_pm, "gsw_pm_exit_sleep");
+ ret = gsw_pm_exit_sleep(tmp_name);
+ if(ret < 0)
+ {
+ printf("gsw_pm_exit_sleep FAIL.\n");
+ return -1;
+ }
+ printf("gsw_pm_exit_sleep success.\n");
+ break;
+ }
+ case 6:
+ {
+ gsw_modem_log_sync=(void(*)())dlsym(dlHandle_pm, "gsw_modem_log_sync");
+ gsw_modem_log_sync();
+ printf("gsw_modem_log_sync success.\n");
+ return 0;
+ }
+ }
+ }
+ return 0;
+}
\ No newline at end of file