blob: 6c06efb2d600e531e7a87e15ec783bf17ca2385a [file] [log] [blame]
b.liu68a94c92025-05-24 12:53:41 +08001#include <stdio.h>
2#include <string.h>
3#include <stdlib.h>
4#include <dlfcn.h>
5#include <stdint.h>
6
7typedef void(*AT_CALLBACK)(char input[],char output[],int out_max_size);
8int32_t (*gsw_reg_atcmd)(const char *atcmd,AT_CALLBACK);
9void *dlHandle_at;
10char *lynqLib_at = "/lib/libgsw_lib.so";
11
12void lynq_test_example(char input[], char output[], int out_max_size)
13{
14 if(!strcmp(input, "AT+TEST1"))
15 {
16 memcpy(output, input, strlen(input));
17 }
18 else if(!strcmp(input, "AT+TEST2"))
19 {
20 memcpy(output, input, strlen(input));
21 }
22 else if(!strcmp(input, "AT+TEST3"))
23 {
24 memcpy(output, input, strlen(input));
25 }
26 else if(!strcmp(input, "AT+TEST4"))
27 {
28 memcpy(output, input, strlen(input));
29 }
30 else if(!strcmp(input, "AT+TEST5"))
31 {
32 memcpy(output, input, strlen(input));
33 }
34 return;
35}
36
37
38int main(void)
39{
40 int ret;
41 dlHandle_at = dlopen(lynqLib_at, RTLD_NOW);
42 gsw_reg_atcmd=(int32_t(*)(const char *atcmd,AT_CALLBACK))dlsym(dlHandle_at, "gsw_reg_atcmd");
43 ret = gsw_reg_atcmd("AT+TEST1;AT+TEST2;AT+TEST3;AT+TEST4;AT+TEST5",lynq_test_example);
44 if (ret == 0)
45 printf("at add ok\n");
46 else
47 printf("at add fail\n");
48 while (1)
49 {
50 getchar();
51 }
52 dlclose(dlHandle_at);
53 dlHandle_at = NULL;
54 return 0;
55
56}