2023-09-22 00:14:27 +08:00
|
|
|
|
|
|
|
|
#include "u_rpc.h"
|
2023-09-22 21:56:15 +08:00
|
|
|
#include <string.h>
|
|
|
|
|
#include <stdio.h>
|
2023-09-22 00:14:27 +08:00
|
|
|
typedef struct test_svr
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
} test_svr_t;
|
|
|
|
|
|
2023-09-22 21:56:15 +08:00
|
|
|
static test_svr_t test;
|
|
|
|
|
|
2023-09-23 13:15:09 +08:00
|
|
|
#if 0
|
|
|
|
|
RPC_GENERATION_OP1(test_svr_t, 0, register, rpc_int_t, rpc_int_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var0)
|
2023-09-22 21:56:15 +08:00
|
|
|
{
|
|
|
|
|
printf("var0 val is %d\n", var0->data);
|
2023-09-23 13:15:09 +08:00
|
|
|
var0->data = 0x112233;
|
2023-09-22 21:56:15 +08:00
|
|
|
return 1;
|
|
|
|
|
}
|
2023-09-23 13:15:09 +08:00
|
|
|
RPC_GENERATION_DISPATCH1(test_svr_t, 0, register, rpc_int_t, rpc_int_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var0)
|
|
|
|
|
RPC_GENERATION_CALL1(test_svr_t, 0, register, rpc_int_t, rpc_int_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var0)
|
|
|
|
|
#endif
|
|
|
|
|
#if 0
|
|
|
|
|
RPC_GENERATION_OP2(test_svr_t, 0, query,
|
|
|
|
|
rpc_int_t, rpc_int_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var0,
|
|
|
|
|
rpc_int_t, rpc_int_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var1)
|
2023-09-22 21:56:15 +08:00
|
|
|
{
|
2023-09-23 13:15:09 +08:00
|
|
|
printf("var0 val is %d\n", var0->data);
|
|
|
|
|
printf("var1 val is %d\n", var1->data);
|
|
|
|
|
var0->data = 0x112233;
|
|
|
|
|
var1->data = 0x123456;
|
|
|
|
|
return 2;
|
2023-09-22 21:56:15 +08:00
|
|
|
}
|
2023-09-23 13:15:09 +08:00
|
|
|
|
|
|
|
|
RPC_GENERATION_DISPATCH2(test_svr_t, 0, query,
|
|
|
|
|
rpc_int_t, rpc_int_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var0,
|
|
|
|
|
rpc_int_t, rpc_int_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var1)
|
|
|
|
|
RPC_GENERATION_CALL2(test_svr_t, 0, query,
|
|
|
|
|
rpc_int_t, rpc_int_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var0,
|
|
|
|
|
rpc_int_t, rpc_int_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var1)
|
|
|
|
|
|
|
|
|
|
msg_tag_t dispatch_test(msg_tag_t tag, ipc_msg_t *msg)
|
2023-09-22 21:56:15 +08:00
|
|
|
{
|
2023-09-23 13:15:09 +08:00
|
|
|
tag = test_svr_t_query_dispatch(&test, tag, msg);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
2023-09-22 21:56:15 +08:00
|
|
|
|
2023-09-23 13:15:09 +08:00
|
|
|
#if 0
|
|
|
|
|
RPC_GENERATION_OP2(test_svr_t, 0, query,
|
|
|
|
|
rpc_ref_array_uint32_t_uint8_t_32_t, rpc_array_uint32_t_uint8_t_32_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var0,
|
|
|
|
|
rpc_ref_array_uint32_t_uint8_t_32_t, rpc_array_uint32_t_uint8_t_32_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var1)
|
|
|
|
|
{
|
|
|
|
|
printf("var0 val is %s\n", var0->data);
|
|
|
|
|
printf("var1 val is %s\n", var1->data);
|
|
|
|
|
strcpy(var0->data, "....");
|
|
|
|
|
var0->len = 5;
|
|
|
|
|
strcpy(var1->data, "____");
|
|
|
|
|
var1->len = 5;
|
|
|
|
|
return 2;
|
2023-09-22 21:56:15 +08:00
|
|
|
}
|
|
|
|
|
|
2023-09-23 13:15:09 +08:00
|
|
|
RPC_GENERATION_DISPATCH2(test_svr_t, 0, query,
|
|
|
|
|
rpc_ref_array_uint32_t_uint8_t_32_t, rpc_array_uint32_t_uint8_t_32_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var0,
|
|
|
|
|
rpc_ref_array_uint32_t_uint8_t_32_t, rpc_array_uint32_t_uint8_t_32_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var1)
|
2023-09-22 00:14:27 +08:00
|
|
|
|
2023-09-23 13:15:09 +08:00
|
|
|
RPC_GENERATION_CALL2(test_svr_t, 0, query,
|
|
|
|
|
rpc_ref_array_uint32_t_uint8_t_32_t, rpc_array_uint32_t_uint8_t_32_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var0,
|
|
|
|
|
rpc_ref_array_uint32_t_uint8_t_32_t, rpc_array_uint32_t_uint8_t_32_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var1)
|
|
|
|
|
|
|
|
|
|
msg_tag_t dispatch_test(msg_tag_t tag, ipc_msg_t *msg)
|
|
|
|
|
{
|
|
|
|
|
tag = test_svr_t_query_dispatch(&test, tag, msg);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
#if 0
|
|
|
|
|
RPC_GENERATION_OP2(test_svr_t, 0, query,
|
|
|
|
|
rpc_ref_array_uint32_t_uint8_t_32_t, rpc_array_uint32_t_uint8_t_32_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var0,
|
|
|
|
|
rpc_obj_handler_t_t, rpc_obj_handler_t_t, RPC_DIR_IN, RPC_TYPE_BUF, var1)
|
2023-09-22 00:14:27 +08:00
|
|
|
{
|
2023-09-23 13:15:09 +08:00
|
|
|
printf("var0 val is %s\n", var0->data);
|
|
|
|
|
strcpy(var0->data, "....");
|
|
|
|
|
var0->len = 5;
|
|
|
|
|
return 2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RPC_GENERATION_DISPATCH2(test_svr_t, 0, query,
|
|
|
|
|
rpc_ref_array_uint32_t_uint8_t_32_t, rpc_array_uint32_t_uint8_t_32_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var0,
|
|
|
|
|
rpc_obj_handler_t_t, rpc_obj_handler_t_t, RPC_DIR_IN, RPC_TYPE_BUF, var1)
|
2023-09-22 00:14:27 +08:00
|
|
|
|
2023-09-23 13:15:09 +08:00
|
|
|
RPC_GENERATION_CALL2(test_svr_t, 0, query,
|
|
|
|
|
rpc_ref_array_uint32_t_uint8_t_32_t, rpc_array_uint32_t_uint8_t_32_t, RPC_DIR_INOUT, RPC_TYPE_DATA, var0,
|
|
|
|
|
rpc_obj_handler_t_t, rpc_obj_handler_t_t, RPC_DIR_IN, RPC_TYPE_BUF, var1)
|
2023-09-22 00:14:27 +08:00
|
|
|
|
2023-09-23 13:15:09 +08:00
|
|
|
msg_tag_t dispatch_test(msg_tag_t tag, ipc_msg_t *msg)
|
|
|
|
|
{
|
|
|
|
|
tag = test_svr_t_query_dispatch(&test, tag, msg);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
RPC_GENERATION_OP2(test_svr_t, 0, query,
|
|
|
|
|
rpc_obj_handler_t_t, rpc_obj_handler_t_t, RPC_DIR_OUT, RPC_TYPE_BUF, var0,
|
|
|
|
|
rpc_obj_handler_t_t, rpc_obj_handler_t_t, RPC_DIR_IN, RPC_TYPE_BUF, var1)
|
|
|
|
|
{
|
|
|
|
|
printf("dispath ok.\n");
|
|
|
|
|
var0->data = vpage_create_raw3(0, 0, 30).raw;
|
|
|
|
|
return 2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RPC_GENERATION_DISPATCH2(test_svr_t, 0, query,
|
|
|
|
|
rpc_obj_handler_t_t, rpc_obj_handler_t_t, RPC_DIR_OUT, RPC_TYPE_BUF, var0,
|
|
|
|
|
rpc_obj_handler_t_t, rpc_obj_handler_t_t, RPC_DIR_IN, RPC_TYPE_BUF, var1)
|
|
|
|
|
RPC_GENERATION_CALL2(test_svr_t, 0, query,
|
|
|
|
|
rpc_obj_handler_t_t, rpc_obj_handler_t_t, RPC_DIR_OUT, RPC_TYPE_BUF, var0,
|
|
|
|
|
rpc_obj_handler_t_t, rpc_obj_handler_t_t, RPC_DIR_IN, RPC_TYPE_BUF, var1)
|
|
|
|
|
|
|
|
|
|
msg_tag_t dispatch_test(msg_tag_t tag, ipc_msg_t *msg)
|
|
|
|
|
{
|
|
|
|
|
tag = test_svr_t_query_dispatch(&test, tag, msg);
|
|
|
|
|
}
|
|
|
|
|
void rpc_test(void)
|
|
|
|
|
{
|
|
|
|
|
msg_tag_t tag;
|
|
|
|
|
#if 0
|
|
|
|
|
rpc_int_t var0 = {.data = 456};
|
|
|
|
|
tag = test_svr_t_register_call(15, &var0);
|
|
|
|
|
printf("ret:%d, val is 0x%x\n", msg_tag_get_val(tag), var0.data);
|
|
|
|
|
#endif
|
|
|
|
|
#if 0
|
|
|
|
|
rpc_int_t var1 = {.data = 123};
|
|
|
|
|
tag = test_svr_t_query_call(15, &var0, &var1);
|
|
|
|
|
printf("ret:%d, val is 0x%x, val is 0x%x\n", msg_tag_get_val(tag), var0.data, var1.data);
|
|
|
|
|
#endif
|
|
|
|
|
#if 0
|
|
|
|
|
uint8_t data_cache[10] = "test";
|
|
|
|
|
uint8_t data_cache1[10] = "tttt";
|
|
|
|
|
rpc_ref_array_uint32_t_uint8_t_32_t var0 = {
|
|
|
|
|
.data = data_cache,
|
|
|
|
|
.len = strlen(data_cache) + 1};
|
|
|
|
|
rpc_ref_array_uint32_t_uint8_t_32_t var1 = {
|
|
|
|
|
.data = data_cache1,
|
|
|
|
|
.len = strlen(data_cache1) + 1};
|
|
|
|
|
tag = test_svr_t_query_call(15, &var0, &var1);
|
|
|
|
|
printf("ret:%d, val is %s, val is %s.\n", msg_tag_get_val(tag), var0.data, var1.data);
|
|
|
|
|
#endif
|
|
|
|
|
rpc_obj_handler_t_t var0 = {.data = 0};
|
|
|
|
|
rpc_obj_handler_t_t var1 = {.data = 12};
|
|
|
|
|
tag = test_svr_t_query_call(15, &var0, &var1);
|
|
|
|
|
printf("ret:%d\n", msg_tag_get_val(tag));
|
2023-09-22 00:14:27 +08:00
|
|
|
}
|