diff --git a/src/testclient.c b/src/testclient.c new file mode 100644 index 0000000..2ea75f6 --- /dev/null +++ b/src/testclient.c @@ -0,0 +1,40 @@ +#include +#include +#include +#include + +#include + +static void usage(int argc, char **argv, const char *message, ...) { + if (message != NULL) { + va_list args; + + va_start(args, message); + vfprintf(stderr, message, args); + fprintf(stderr, "\n"); + va_end(args); + } + + fprintf(stderr, "usage: %s /dev/ttyXX|kiss.cap\n", argv[0]); + + exit(1); +} + +int main(int argc, char **argv) { + patty_ax25_if *iface; + + if (argc != 2) { + usage(argc, argv, "No TNC device or KISS dump file provided"); + } + + if ((iface = patty_ax25_if_new(PATTY_AX25_IF_KISS_TNC, argv[1])) == NULL) { + goto error_if_create; + } + + patty_ax25_if_destroy(iface); + + return 0; + +error_if_create: + return 1; +} diff --git a/src/testserver.c b/src/testserver.c new file mode 100644 index 0000000..5b76a3c --- /dev/null +++ b/src/testserver.c @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include + +#include + +static void usage(int argc, char **argv, const char *message, ...) { + if (message != NULL) { + va_list args; + + va_start(args, message); + vfprintf(stderr, message, args); + fprintf(stderr, "\n"); + va_end(args); + } + + fprintf(stderr, "usage: %s /dev/ttyXX|kiss.cap\n", argv[0]); + + exit(1); +} + +int main(int argc, char **argv) { + patty_ax25_server *server; + patty_ax25_if *iface; + + if (argc != 2) { + usage(argc, argv, "No TNC device or KISS dump file provided"); + } + + if ((server = patty_ax25_server_new()) == NULL) { + goto error_server_new; + } + + if ((iface = patty_ax25_if_new(PATTY_AX25_IF_KISS_TNC, argv[1])) == NULL) { + goto error_if_new; + } + + if (patty_ax25_server_add_if(server, iface) < 0) { + goto error_server_add_if; + } + + patty_ax25_server_run(server); + + patty_ax25_server_destroy(server); + + return 0; + +error_server_add_if: + patty_ax25_if_destroy(iface); + +error_if_new: + patty_ax25_server_destroy(server); + +error_server_new: + return 1; +}