From d4e7933e6bac30ab1097b2977adbbc9b96b21723 Mon Sep 17 00:00:00 2001 From: XANTRONIX Development Date: Fri, 10 Jul 2020 22:32:09 -0400 Subject: [PATCH] Make examples take callsign as local/remote address --- examples/ax25dump.c | 10 +++++++--- examples/connect.c | 10 +++++++--- examples/listen.c | 10 +++++++--- examples/server.c | 12 ++++++++---- 4 files changed, 29 insertions(+), 13 deletions(-) diff --git a/examples/ax25dump.c b/examples/ax25dump.c index 4ba1a04..30d61dd 100644 --- a/examples/ax25dump.c +++ b/examples/ax25dump.c @@ -23,7 +23,7 @@ static void usage(int argc, char **argv, const char *message, ...) { va_end(args); } - fprintf(stderr, "usage: %s /var/run/patty/patty.sock\n", argv[0]); + fprintf(stderr, "usage: %s /var/run/patty/patty.sock localcall\n", argv[0]); exit(1); } @@ -43,11 +43,15 @@ int main(int argc, char **argv) { patty_kiss_tnc *raw; - if (argc != 2) { + if (argc < 2) { usage(argc, argv, "No patty socket provided"); + } else if (argc < 3) { + usage(argc, argv, "No local callsign provided"); + } else if (argc > 3) { + usage(argc, argv, "Too many arguments provided"); } - patty_ax25_pton("KZ3ROX", 0, &peer); + patty_ax25_pton(argv[2], 0, &peer); if ((fd = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) { fprintf(stderr, "%s: %s: %s: %s\n", diff --git a/examples/connect.c b/examples/connect.c index b25c41c..9c88a89 100644 --- a/examples/connect.c +++ b/examples/connect.c @@ -22,7 +22,7 @@ static void usage(int argc, char **argv, const char *message, ...) { va_end(args); } - fprintf(stderr, "usage: %s /var/run/patty/patty.sock\n", argv[0]); + fprintf(stderr, "usage: %s /var/run/patty/patty.sock remotecall\n", argv[0]); exit(1); } @@ -40,11 +40,15 @@ int main(int argc, char **argv) { uint8_t buf[4096]; ssize_t readlen; - if (argc != 2) { + if (argc < 2) { usage(argc, argv, "No patty socket provided"); + } else if (argc < 3) { + usage(argc, argv, "No remote callsign provided"); + } else if (argc > 3) { + usage(argc, argv, "Too many arguments provided"); } - patty_ax25_pton("KZ3ROX", 0, &peer); + patty_ax25_pton(argv[2], 0, &peer); if ((fd = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) { fprintf(stderr, "%s: %s: %s: %s\n", diff --git a/examples/listen.c b/examples/listen.c index 37d8554..94c31c0 100644 --- a/examples/listen.c +++ b/examples/listen.c @@ -25,7 +25,7 @@ static void usage(int argc, char **argv, const char *message, ...) { va_end(args); } - fprintf(stderr, "usage: %s /var/run/patty/patty.sock\n", argv[0]); + fprintf(stderr, "usage: %s /var/run/patty/patty.sock localcall\n", argv[0]); exit(1); } @@ -43,11 +43,15 @@ int main(int argc, char **argv) { char path[PATTY_AX25_SOCK_PATH_SIZE]; - if (argc != 2) { + if (argc < 2) { usage(argc, argv, "No patty socket provided"); + } else if (argc < 3) { + usage(argc, argv, "No local callsign provided"); + } else if (argc > 3) { + usage(argc, argv, "Too many arguments provided"); } - patty_ax25_pton("KZ3ROX", 0, &addr); + patty_ax25_pton(argv[2], 0, &addr); if ((fd = socket(PF_UNIX, SOCK_STREAM, 0)) < 0) { fprintf(stderr, "%s: %s: %s: %s\n", diff --git a/examples/server.c b/examples/server.c index e772dca..7c4986e 100644 --- a/examples/server.c +++ b/examples/server.c @@ -22,7 +22,7 @@ static void usage(int argc, char **argv, const char *message, ...) { va_end(args); } - fprintf(stderr, "usage: %s /dev/ttyXX|kiss.cap [path.sock]\n", argv[0]); + fprintf(stderr, "usage: %s /dev/ttyXX|kiss.cap [path.sock] callsign\n", argv[0]); exit(1); } @@ -38,7 +38,11 @@ int main(int argc, char **argv) { if (argc < 2) { usage(argc, argv, "No TNC device or KISS dump file provided"); - } else if (argc > 3) { + } else if (argc < 3) { + usage(argc, argv, "No socket path provided"); + } else if (argc < 4) { + usage(argc, argv, "No station callsign provided"); + } else if (argc > 4) { usage(argc, argv, "Too many arguments provided"); } @@ -81,9 +85,9 @@ int main(int argc, char **argv) { errno = 0; - patty_ax25_pton("KZ3ROX", 0, &info.addr); + patty_ax25_pton(argv[3], 0, &info.addr); - if ((server = patty_ax25_server_new(argc == 3? argv[2]: PATTY_AX25_SERVER_PATH)) == NULL) { + if ((server = patty_ax25_server_new(argc >= 3? argv[2]: PATTY_AX25_SERVER_PATH)) == NULL) { goto error_server_new; }