Fix mbtk from v1265 GSW

Change-Id: I5d8d395616f284bc74c8b9448cfa347164b5a668
diff --git a/mbtk/test/libgsw_lib/gsw_gpio_test.c b/mbtk/test/libgsw_lib/gsw_gpio_test.c
new file mode 100755
index 0000000..3dbf1fc
--- /dev/null
+++ b/mbtk/test/libgsw_lib/gsw_gpio_test.c
@@ -0,0 +1,145 @@
+#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 enum{

+  GSW_HAL_PINDIR_IN,

+  GSW_HAL_PINDIR_OUT,

+}gsw_hal_pinDirection;

+

+typedef enum{

+  GSW_HAL_LEVEL_LOW,

+  GSW_HAL_LEVEL_HIGH,

+}gsw_hal_pinLevel;

+

+typedef enum{

+  GSW_HAL_PULL_NULL,

+  GSW_HAL_PULL_DOWN,

+  GSW_HAL_PULL_UP,

+}gsw_hal_pinPullSel;

+

+typedef enum{

+  GSW_HAL_USB_DISCONNECTED,

+  GSW_HAL_USB_CONNECTED,

+}gsw_hal_usbStatus;

+

+int32_t (*gsw_gpio_Init)(uint32_t, gsw_hal_pinDirection, gsw_hal_pinLevel);

+int32_t (*gsw_gpio_SetDirection)(uint32_t, gsw_hal_pinDirection);

+int32_t (*gsw_gpio_SetLevel)(uint32_t, gsw_hal_pinLevel);

+gsw_hal_pinLevel (*gsw_gpio_GetLevel)(uint32_t);

+gsw_hal_usbStatus (*gsw_hwpin_is_usb_connected)();

+int32_t (*gsw_setWakeupLevel)(gsw_hal_pinLevel);

+void *dlHandle_gpio;

+char *lynqLib_gpio = "/lib/libgsw_lib.so";

+

+int main(int argc,char **argv)

+{

+    int ret;

+    dlHandle_gpio = dlopen(lynqLib_gpio, RTLD_NOW);

+    if (argc == 4)

+    {

+        if (strcmp(argv[1], "D") == 0)

+        {

+            gsw_gpio_SetDirection=(int32_t(*)(uint32_t, gsw_hal_pinDirection))dlsym(dlHandle_gpio, "gsw_gpio_SetDirection");

+            ret = gsw_gpio_SetDirection(atoi(argv[2]), atoi(argv[3]));

+            if(ret < 0)

+            {

+                printf("gsw_gpio_SetDirection FAIL.\n");

+                return -1;

+            }

+            printf("gsw_gpio_SetDirection success.\n");

+        }

+        else if (strcmp(argv[1], "V") == 0)

+        {

+            gsw_gpio_SetLevel=(int32_t(*)(uint32_t, gsw_hal_pinLevel))dlsym(dlHandle_gpio, "gsw_gpio_SetLevel");

+            ret = gsw_gpio_SetLevel(atoi(argv[2]), atoi(argv[3]));

+            if(ret < 0)

+            {

+                printf("gsw_gpio_SetLevel FAIL.\n");

+                return -1;

+            }

+            printf("gsw_gpio_SetLevel success.\n");

+        }

+        else

+        {

+            gsw_gpio_Init=(int32_t(*)(uint32_t, gsw_hal_pinDirection, gsw_hal_pinLevel))dlsym(dlHandle_gpio, "gsw_gpio_Init");

+            ret = gsw_gpio_Init(atoi(argv[1]), atoi(argv[2]), atoi(argv[3]));

+            if(ret < 0)

+            {

+                printf("gsw_gpio_Init FAIL.\n");

+                return -1;

+            }

+            printf("gsw_gpio_Init success.\n");

+        }

+    }

+

+    else if (argc == 3)

+    {

+        

+        if (strcmp(argv[1], "W") == 0)

+        {

+            gsw_setWakeupLevel=(int32_t(*)(gsw_hal_pinLevel))dlsym(dlHandle_gpio, "gsw_setWakeupLevel");

+            ret = gsw_setWakeupLevel(atoi(argv[2]));

+            if(ret < 0)

+            {

+                printf("gsw_setWakeupLevel FAIL.\n");

+                return -1;

+            }

+            printf("gsw_setWakeupLevel success.\n");

+        }

+        else

+        {

+            printf("error,please check input\n");

+            return -1;

+        }

+    }

+    else if (argc == 2)

+    {

+        if (strcmp(argv[1], "U") == 0)

+        {

+            gsw_hwpin_is_usb_connected=(gsw_hal_usbStatus(*)())dlsym(dlHandle_gpio, "gsw_hwpin_is_usb_connected");

+            ret = gsw_hwpin_is_usb_connected();

+            if(ret == 0)

+            {

+                printf("gsw_hwpin_is_usb_Unconnected ret = %d\n",ret);

+                return 0;

+            }

+            else

+            {

+                printf("gsw_hwpin_is_usb_connected.ret = %d\n",ret);

+                return 0;

+            }

+            

+        }

+        else

+        {

+            gsw_gpio_GetLevel=(gsw_hal_pinLevel(*)(uint32_t))dlsym(dlHandle_gpio, "gsw_gpio_GetLevel");

+            ret = gsw_gpio_GetLevel(atoi(argv[1]));

+            if(ret < 0)

+            {

+                printf("gsw_gpio_GetLevel FAIL.\n");

+                return -1;

+            }

+            printf("gsw_gpio_GetLevel success.\n");

+        }

+    }

+    else

+    {

+        printf("error,please check input\n");

+        return -1;

+    }

+    return 0;

+}
\ No newline at end of file