diff options
Diffstat (limited to 'src/tools/irm/irm_register.c')
-rw-r--r-- | src/tools/irm/irm_register.c | 66 |
1 files changed, 9 insertions, 57 deletions
diff --git a/src/tools/irm/irm_register.c b/src/tools/irm/irm_register.c index 67c81025..62470d1d 100644 --- a/src/tools/irm/irm_register.c +++ b/src/tools/irm/irm_register.c @@ -1,7 +1,7 @@ /* * Ouroboros - Copyright (C) 2016 * - * Register AP's in DIFs + * Register names in IPCPs * * Dimitri Staessens <[email protected]> * Sander Vrijders <[email protected]> @@ -21,15 +21,9 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include <ouroboros/config.h> -#include <stdio.h> #include <ouroboros/irm.h> -#include <ouroboros/common.h> -#include <stdlib.h> -#include <string.h> -#include <errno.h> -#include <sys/types.h> -#include <signal.h> + +#include <stdio.h> #include "irm_ops.h" #include "irm_utils.h" @@ -39,13 +33,10 @@ static void usage() { printf("Usage: irm register\n" - " n <name>\n" - " apn <application process name>\n" - " [api <application instance id>]\n" - " [auto] (instantiate apn if not running)\n" + " name <name>\n" + " dif <dif name to register with>\n" " [dif <dif name to register with>]\n" " [... (maximum %d difs)]\n" - " [-- <application arguments>]\n" , MAX_DIFS); } @@ -53,33 +44,12 @@ static void usage() int do_register(int argc, char ** argv) { char * name = NULL; - char ** args = NULL; char * difs[MAX_DIFS]; size_t difs_len = 0; - bool api_opt = false; - bool args_opt = false; - bool autoexec = false; - int i = argc; - instance_name_t api = {NULL, 0}; - - while (i > 0) { + while (argc > 0) { if (matches(*argv, "name") == 0) { name = *(argv + 1); - } else if (matches(*argv, "apn") == 0) { - api.name = *(argv + 1); - } else if (matches(*argv, "api") == 0) { - api.id = atoi(*(argv + 1)); - api_opt = true; - } else if (strcmp(*argv, "auto") == 0) { - autoexec = true; - ++i; - --argv; - } else if (strcmp(*argv, "--") == 0) { - ++argv; - --i; - args_opt = true; - break; } else if (matches(*argv, "dif") == 0) { difs[difs_len++] = *(argv + 1); if (difs_len > MAX_DIFS) { @@ -92,32 +62,14 @@ int do_register(int argc, char ** argv) return -1; } - i -= 2; + argc -= 2; argv += 2; } - if (name == NULL || api.name == NULL) { + if (difs_len < 1 || name == NULL) { usage(); return -1; } - if (api_opt && kill(api.id, 0) < 0) { - printf("No application running with that pid."); - return -1; - } - - if (api_opt && autoexec) { - printf("Instance is given, auto disabled.\n"); - autoexec = false; - } - - args = argv; - - if (args_opt && api_opt) { - printf("Instance is given, args ignored.\n"); - args = NULL; - i = 0; - } - - return irm_reg(name, &api, i, args, autoexec, difs, difs_len); + return irm_reg(name, difs, difs_len); } |