#include #include #include #include #include #include #include static bool cmdline_send = false; static bool cmdline_recv = false; static char cmdline_payload[CMDLINE_OPT_VALUE_MAX]; static uint64_t cmdline_pg; static struct cmdline_opt cmdline_opts[] = { CMDLINE_OPT("s", "send", CMDLINE_OPT_VALUE_BOOL, false, &cmdline_send), CMDLINE_OPT("r", "recv", CMDLINE_OPT_VALUE_BOOL, false, &cmdline_recv), CMDLINE_OPT("p", "payload", CMDLINE_OPT_VALUE_STRING, false, (char*)cmdline_payload), CMDLINE_OPT("pg", "procgroup", CMDLINE_OPT_VALUE_INT, false, &cmdline_pg), CMDLINE_END(), }; void app_main(void) { if (cmdline_parse(get_cmdline(), cmdline_opts) < 0) { return; } if (cmdline_recv) { char recv_buffer[1024]; for (;;) { debug_printf("Waiting...\n"); memset(recv_buffer, 0, sizeof(recv_buffer)); mail_receive(recv_buffer, sizeof(recv_buffer)); debug_printf("Recv: %s\n", recv_buffer); } } else if (cmdline_send) { debug_printf("sending [%s] to PG %d\n", cmdline_payload, (int)cmdline_pg); mail_send((int)cmdline_pg, cmdline_payload, strlen(cmdline_payload)); } }