diff options
author | Sander Vrijders <[email protected]> | 2016-03-03 14:09:57 +0100 |
---|---|---|
committer | Sander Vrijders <[email protected]> | 2016-03-03 14:09:57 +0100 |
commit | bd2dc6141b59d8fe67e7765b5dfce5b819ed7e33 (patch) | |
tree | a4dbd276895813f49c40d06ebb35111e25e8e874 /src/tools/irm/irm_enroll_ipcp.c | |
parent | ccbfc46ada3317b0f3655b751d473643d4dcab72 (diff) | |
download | ouroboros-bd2dc6141b59d8fe67e7765b5dfce5b819ed7e33.tar.gz ouroboros-bd2dc6141b59d8fe67e7765b5dfce5b819ed7e33.zip |
tools: irm: Provide all IRM calls
This commit makes all IRM calls available to the user of the 'irm'
tool. The bootstrap_ipcp call does not yet take the anything except
the AP name. This will be added once we stabilize what should be
configurable in the IPCP.
Diffstat (limited to 'src/tools/irm/irm_enroll_ipcp.c')
-rw-r--r-- | src/tools/irm/irm_enroll_ipcp.c | 43 |
1 files changed, 41 insertions, 2 deletions
diff --git a/src/tools/irm/irm_enroll_ipcp.c b/src/tools/irm/irm_enroll_ipcp.c index 058feee2..94f28f82 100644 --- a/src/tools/irm/irm_enroll_ipcp.c +++ b/src/tools/irm/irm_enroll_ipcp.c @@ -21,12 +21,51 @@ */ #include <stdio.h> +#include <ouroboros/irm.h> +#include <ouroboros/common.h> #include "irm_ops.h" +#include "irm_utils.h" + +static void usage() +{ + printf("Usage: irm enroll_ipcp\n" + " ap <application process name>\n" + " [api <application process instance>]\n" + " [ae <application entity name]\n" + " [aei <application entity instance>]\n" + " dif <dif to enroll in>\n"); +} int do_enroll_ipcp(int argc, char ** argv) { - printf("Nothing here in %s\n", __FUNCTION__); + rina_name_t name; + char * dif_name = NULL; + + name.ap_name = NULL; + name.api_id = 0; + name.ae_name = ""; + name.aei_id = 0; + + while (argc > 0) { + if (!parse_name(argv, &name)) { + if (matches(*argv, "dif") == 0) { + dif_name = *(argv + 1); + } else { + printf("\"%s\" is unknown, try \"irm " + "enroll_ipcp\".\n", *argv); + return -1; + } + } + + argc -= 2; + argv += 2; + } + + if (dif_name == NULL || name.ap_name == NULL) { + usage(); + return -1; + } - return -1; + return irm_enroll_ipcp(name, dif_name); } |