diff options
Diffstat (limited to 'qcom/qrtr/src/cfg.c')
-rw-r--r-- | qcom/qrtr/src/cfg.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/qcom/qrtr/src/cfg.c b/qcom/qrtr/src/cfg.c new file mode 100644 index 0000000..97a8352 --- /dev/null +++ b/qcom/qrtr/src/cfg.c @@ -0,0 +1,44 @@ +#include <err.h> +#include <errno.h> +#include <libgen.h> +#include <limits.h> +#include <linux/netlink.h> +#include <linux/rtnetlink.h> +#include <linux/qrtr.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/socket.h> +#include <sys/types.h> +#include <unistd.h> + +#include "addr.h" +#include "libqrtr.h" +#include "logging.h" + +static void usage(const char *progname) +{ + fprintf(stderr, "%s <node-id>\n", progname); + exit(1); +} + +int main(int argc, char **argv) +{ + unsigned long addrul; + uint32_t addr; + char *ep; + const char *progname = basename(argv[0]); + + qlog_setup(progname, false); + + if (argc != 2) + usage(progname); + + addrul = strtoul(argv[1], &ep, 10); + if (argv[1][0] == '\0' || *ep != '\0' || addrul >= UINT_MAX) + usage(progname); + addr = addrul; + qrtr_set_address(addr); + + return 0; +} |