backup deletedump: Change -port to -portoffset
[openafs.git] / src / bucoord / main.c
index f0a1de4..818a7f8 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Copyright 2000, International Business Machines Corporation and others.
  * All Rights Reserved.
- * 
+ *
  * This software has been released under the terms of the IBM Public
  * License.  For details, see the LICENSE file in the top-level source
  * directory or online at http://www.openafs.org/dl/license10.html
@@ -9,30 +9,16 @@
 
 #include <afsconfig.h>
 #include <afs/param.h>
-
-
 #include <afs/stds.h>
-#include <sys/types.h>
-#include <sys/stat.h>
 
-#ifdef AFS_AIX32_ENV
-#include <signal.h>
-#endif
-#ifdef AFS_NT40_ENV
-#include <winsock2.h>
-#else
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <netdb.h>
-#endif
+#include <roken.h>
+
 
-#include <errno.h>
 #include <afs/cmd.h>
 #include <rx/rx.h>
 #include <rx/rx_globals.h>
 #include <lwp.h>
 #include <afs/bubasics.h>
-#include <fcntl.h>
 #include <afs/afsutil.h>
 #include <afs/auth.h>
 #include <afs/cellconfig.h>
 #include <ubik.h>
 #include <afs/cmd.h>
 #include <rx/rxkad.h>
+#include <afs/afsint.h>
 #include <afs/volser.h>                /*VLDB_MAXSERVERS */
 #include <afs/com_err.h>
 #include <lock.h>
 #include <afs/budb.h>
+#include <afs/kautils.h>
+#include <afs/vlserver.h>
+#include <afs/butm.h>
+#include <afs/butx.h>
+#include <afs/tcdata.h>
 
 #include "bc.h"                        /*Backup Coordinator structs and defs */
+#include "bucoord_internal.h"
 #include "bucoord_prototypes.h"
 
 int localauth, interact;
@@ -57,7 +50,7 @@ char tcell[64];
 struct bc_config *bc_globalConfig;     /*Ptr to global BC configuration info */
 
 struct ubik_client *cstruct;   /* Ptr to Ubik client structure */
-struct ktc_token ttoken;       /* The token */
+time_t tokenExpires;           /* The token's expiration time */
 
 static const char *DefaultConfDir;     /*Default backup config directory */
 static int bcInit = 0;         /* backupInit called yet ? */
@@ -92,8 +85,8 @@ InitErrTabs(void)
     initialize_KTC_error_table();
 }
 
-/* 
- * got to account for the errors which are volume related but 
+/*
+ * got to account for the errors which are volume related but
  * not dealt with by standard errno and com_err stuff.
  */
 void
@@ -149,7 +142,7 @@ bc_HandleMisc(afs_int32 code)
 static int
 LineIsBlank(char *aline)
 {
-    register int tc;
+    int tc;
 
     while ((tc = *aline++))
        if ((tc != ' ') && (tc != '\t') && (tc != '\n'))
@@ -207,7 +200,7 @@ bc_InitTextConfig(void)
 static int
 backupInit(void)
 {
-    register afs_int32 code;
+    afs_int32 code;
     static int initd = 0;      /* ever called? */
     PROCESS watcherPid;
     PROCESS pid;               /* LWP process ID */
@@ -222,7 +215,7 @@ backupInit(void)
     }
     initd = 1;
 
-    code = bc_InitConfig(DefaultConfDir);
+    code = bc_InitConfig((char *)DefaultConfDir);
     if (code) {
        afs_com_err(whoami, code,
                "Can't initialize from config files in directory '%s'",
@@ -248,7 +241,7 @@ backupInit(void)
     rx_SetRxDeadTime(60);
 
     /* VLDB initialization */
-    code = vldbClientInit(0, localauth, tcell, &cstruct, &ttoken);
+    code = vldbClientInit(0, localauth, tcell, &cstruct, &tokenExpires);
     if (code)
        return (code);
 
@@ -292,7 +285,7 @@ backupInit(void)
  */
 
 static int
-MyBeforeProc(register struct cmd_syndesc *as, void *arock)
+MyBeforeProc(struct cmd_syndesc *as, void *arock)
 {
     afs_int32 code;
 
@@ -333,14 +326,14 @@ extern int dontExecute;           /* declared in commands.c */
 extern char *loadFile;         /* declared in commands.c */
 char lineBuffer[1024];         /* Line typed in by user or read from load file */
 
-/* 
+/*
  * This will dispatch a command.  It holds a recursive loop for the
  * "dump -file" option. This option reads backup commands from a file.
  *
  * Cannot put this code on other side of cmd_Dispatch call (in
  * commands.c) because when make a dispatch call when in a dispatch
  * call, environment is mucked up.
- * 
+ *
  * To avoid multiple processes stepping on each other in the dispatch code,
  * put a lock around it so only 1 process gets in at a time.
  */
@@ -351,7 +344,7 @@ struct Lock dispatchLock;   /* lock on the Dispatch call */
 
 afs_int32
 doDispatch(afs_int32 targc,
-          char *targv[MAXV], 
+          char *targv[MAXV],
           afs_int32 dispatchCount) /* to prevent infinite recursion */
 {
     char *sargv[MAXV];
@@ -447,14 +440,14 @@ main(int argc, char **argv)
     char *targv[MAXV];         /*Ptr to parsed argv stuff */
     afs_int32 targc;           /*Num parsed arguments */
     afs_int32 code;            /*Return code */
-    register struct cmd_syndesc *ts;   /*Ptr to parsed command line */
+    struct cmd_syndesc *ts;    /*Ptr to parsed command line */
     int i;
 
 
 #ifdef AFS_AIX32_ENV
     /*
-     * The following signal action for AIX is necessary so that in case of a 
-     * crash (i.e. core is generated) we can include the user's data section 
+     * The following signal action for AIX is necessary so that in case of a
+     * crash (i.e. core is generated) we can include the user's data section
      * in the core dump. Unfortunately, by default, only a partial core is
      * generated which, in many cases, isn't too useful.
      */
@@ -471,7 +464,17 @@ main(int argc, char **argv)
     /* setup the default backup dir */
     DefaultConfDir = AFSDIR_SERVER_BACKUP_DIRPATH;
     /* Get early warning if the command is interacive mode or not */
-    interact = (((argc < 2) || (argv[1][0] == '-')) ? 1 : 0);
+    if (argc < 2) {
+       interact = 1;
+    } else {
+       interact = 0;
+       if (argv[1][0] == '-') {
+           interact = 1;
+           if (strcmp(argv[1], "-help") == 0) {
+               interact = 0;
+           }
+       }
+    }
 
     cmd_SetBeforeProc(MyBeforeProc, NULL);
 
@@ -484,7 +487,9 @@ main(int argc, char **argv)
     cmd_AddParm(ts, "-at", CMD_LIST, CMD_OPTIONAL, "Date/time to start dump");
     cmd_AddParm(ts, "-append", CMD_FLAG, CMD_OPTIONAL,
                "append to existing dump set");
-    cmd_AddParm(ts, "-n", CMD_FLAG, CMD_OPTIONAL, "don't really execute it");
+    cmd_AddParm(ts, "-dryrun", CMD_FLAG, CMD_OPTIONAL,
+                "list what would be done, don't do it");
+    cmd_AddParmAlias(ts, 5, "-n");
     cmd_AddParm(ts, "-file", CMD_SINGLE, CMD_OPTIONAL, "load file");
     if (!interact)
        add_std_args(ts);
@@ -502,7 +507,9 @@ main(int argc, char **argv)
     cmd_AddParm(ts, "-date", CMD_LIST, CMD_OPTIONAL,
                "date from which to restore");
     cmd_AddParm(ts, "-portoffset", CMD_LIST, CMD_OPTIONAL, "TC port offsets");
-    cmd_AddParm(ts, "-n", CMD_FLAG, CMD_OPTIONAL, "don't really execute it");
+    cmd_AddParm(ts, "-dryrun", CMD_FLAG, CMD_OPTIONAL,
+                "list what would be done, don't do it");
+    cmd_AddParmAlias(ts, 6, "-n");
     cmd_AddParm(ts, "-usedump", CMD_SINGLE, CMD_OPTIONAL,
                "specify the dumpID to restore from");
     if (!interact)
@@ -522,11 +529,13 @@ main(int argc, char **argv)
                "destination partition");
     cmd_AddParm(ts, "-extension", CMD_SINGLE, CMD_OPTIONAL,
                "new volume name extension");
-    cmd_AddParm(ts, "-n", CMD_FLAG, CMD_OPTIONAL, "don't really execute it");
+    cmd_AddParm(ts, "-dryrun", CMD_FLAG, CMD_OPTIONAL,
+                "list what would be done, don't do it");
+    cmd_AddParmAlias(ts, 11, "-n");
     if (!interact)
        add_std_args(ts);
 
-    ts = cmd_CreateSyntax("quit", bc_QuitCmd, NULL, "leave the program");
+    cmd_CreateSyntax("quit", bc_QuitCmd, NULL, "leave the program");
 
     ts = cmd_CreateSyntax("volsetrestore", bc_VolsetRestoreCmd, NULL,
                          "restore a set of volumes");
@@ -535,7 +544,9 @@ main(int argc, char **argv)
     cmd_AddParm(ts, "-portoffset", CMD_LIST, CMD_OPTIONAL, "TC port offset");
     cmd_AddParm(ts, "-extension", CMD_SINGLE, CMD_OPTIONAL,
                "new volume name extension");
-    cmd_AddParm(ts, "-n", CMD_FLAG, CMD_OPTIONAL, "don't really execute it");
+    cmd_AddParm(ts, "-dryrun", CMD_FLAG, CMD_OPTIONAL,
+                "list what would be done, don't do it");
+    cmd_AddParmAlias(ts, 4, "-n");
     if (!interact)
        add_std_args(ts);
 
@@ -561,7 +572,7 @@ main(int argc, char **argv)
     if (!interact)
        add_std_args(ts);
 
-    ts = cmd_CreateSyntax("jobs", bc_JobsCmd, NULL, "list running jobs");
+    cmd_CreateSyntax("jobs", bc_JobsCmd, NULL, "list running jobs");
 
     ts = cmd_CreateSyntax("kill", bc_KillCmd, NULL, "kill running job");
     cmd_AddParm(ts, "-id", CMD_SINGLE, CMD_REQUIRED,
@@ -703,14 +714,17 @@ main(int argc, char **argv)
     cmd_AddParm(ts, "-dumpid", CMD_LIST, CMD_OPTIONAL, "dump id");
     cmd_AddParm(ts, "-from", CMD_LIST, CMD_OPTIONAL, "date time");
     cmd_AddParm(ts, "-to", CMD_LIST, CMD_OPTIONAL, "date time");
-    cmd_AddParm(ts, "-port", CMD_SINGLE, CMD_OPTIONAL, "TC port offset");
+    cmd_AddParm(ts, "-portoffset", CMD_SINGLE, CMD_OPTIONAL, "TC port offset");
+    cmd_AddParmAlias(ts, 3, "-port");
     cmd_AddParm(ts, "-groupid", CMD_SINGLE, CMD_OPTIONAL, "group ID");
     cmd_AddParm(ts, "-dbonly", CMD_FLAG, CMD_OPTIONAL,
                "delete the dump from the backup database only");
     cmd_AddParm(ts, "-force", CMD_FLAG, CMD_OPTIONAL,
                "always delete from backup database");
-    cmd_AddParm(ts, "-noexecute", CMD_FLAG, CMD_OPTIONAL,
-               "Just list the dumps");
+    cmd_AddParm(ts, "-noexecute", CMD_FLAG, CMD_OPTIONAL|CMD_HIDDEN, "");
+    cmd_AddParm(ts, "-dryrun", CMD_FLAG, CMD_OPTIONAL,
+               "list the dumps, don't delete anything");
+    cmd_AddParmAlias(ts, 8, "-n");
 
     if (!interact)
        add_std_args(ts);