aboutsummaryrefslogtreecommitdiff
path: root/tests/test-rpc_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test-rpc_server.c')
-rw-r--r--tests/test-rpc_server.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/test-rpc_server.c b/tests/test-rpc_server.c
index b0b2fd0..9736cc1 100644
--- a/tests/test-rpc_server.c
+++ b/tests/test-rpc_server.c
@@ -1,5 +1,26 @@
#include <hal.h>
+#define interrupt 0
+
+static uint8_t inbuf[HAL_RPC_MAX_PKT_SIZE], outbuf[HAL_RPC_MAX_PKT_SIZE];
+
+static void hal_rpc_server_main(void)
+{
+ size_t ilen, olen;
+ void *opaque;
+ hal_error_t ret;
+
+ while (!interrupt) {
+ ilen = sizeof(inbuf);
+ ret = hal_rpc_recvfrom(inbuf, &ilen, &opaque);
+ if (ret == HAL_OK) {
+ olen = sizeof(outbuf);
+ if (hal_rpc_server_dispatch(inbuf, ilen, outbuf, &olen) == HAL_OK)
+ hal_rpc_sendto(outbuf, olen, opaque);
+ }
+ }
+}
+
int main (int argc, char *argv[])
{
if (hal_rpc_server_init() != HAL_OK)