butc: Set but unused variables
[openafs.git] / src / butc / tcudbprocs.c
index cf677a0..5ccf654 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
 #include <afsconfig.h>
 #include <afs/param.h>
 
+#ifdef IGNORE_SOME_GCC_WARNINGS
+# pragma GCC diagnostic warning "-Wimplicit-function-declaration"
+#endif
 
 #include <sys/types.h>
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
 #ifdef AFS_NT40_ENV
 #include <winsock2.h>
 #include <io.h>
 #include <afs/keys.h>
 #include <ubik.h>
 #include <afs/acl.h>
+#include <afs/volser.h>
+#include <afs/vlserver.h>
 #include <afs/tcdata.h>
 #include <afs/budb.h>
 #include <afs/budb_client.h>
 #include <afs/bubasics.h>
+#include <afs/bucoord_prototypes.h>
+#include <afs/butm_prototypes.h>
+#include <afs/budb_prototypes.h>
+#include <afs/afsutil.h>
+#include "butc_internal.h"
 #include "error_macros.h"
 
 /* GLOBAL CONFIGURATION PARAMETERS */
 extern int dump_namecheck;
 extern int autoQuery;
 
-static void initTapeBuffering();
-static writeDbDump();
-static restoreDbEntries();
+struct rstTapeInfo {
+    afs_int32 taskId;
+    afs_int32 tapeSeq;
+    afs_uint32 dumpid;
+};
+
+static void initTapeBuffering(void);
+static int writeDbDump(struct butm_tapeInfo *, afs_uint32, Date, afs_uint32);
+static int restoreDbEntries(struct butm_tapeInfo *, struct rstTapeInfo *);
+
+int getTapeData(struct butm_tapeInfo *, struct rstTapeInfo *, void *,
+               afs_int32);
+int restoreDbHeader(struct butm_tapeInfo *, struct rstTapeInfo *,
+                   struct structDumpHeader *);
+int restoreDbDump(struct butm_tapeInfo *, struct rstTapeInfo *,
+                 struct structDumpHeader *);
+int restoreText(struct butm_tapeInfo *, struct rstTapeInfo *,
+               struct structDumpHeader *);
+
+
 
 void * KeepAlive(void *);
 /* CreateDBDump
- *      create a dump entry for a saved database 
+ *      create a dump entry for a saved database
  */
 
 afs_int32
-CreateDBDump(dumpEntryPtr)
-     struct budb_dumpEntry *dumpEntryPtr;
+CreateDBDump(struct budb_dumpEntry *dumpEntryPtr)
 {
     afs_int32 code = 0;
 
@@ -101,15 +130,9 @@ struct budb_dumpEntry lastDump;    /* the last dump of this volset */
  *      Leave the tape mounted.
  */
 afs_int32
-GetDBTape(taskId, expires, tapeInfoPtr, dumpid, sequence, queryFlag,
-         wroteLabel)
-     afs_int32 taskId;
-     Date expires;
-     struct butm_tapeInfo *tapeInfoPtr;
-     afs_uint32 dumpid;
-     afs_int32 sequence;
-     int queryFlag;
-     int *wroteLabel;
+GetDBTape(afs_int32 taskId, Date expires, struct butm_tapeInfo *tapeInfoPtr,
+         afs_uint32 dumpid, afs_int32 sequence, int queryFlag,
+         int *wroteLabel)
 {
     afs_int32 code = 0;
     int interactiveFlag;
@@ -122,7 +145,6 @@ GetDBTape(taskId, expires, tapeInfoPtr, dumpid, sequence, queryFlag,
 
     struct butm_tapeLabel oldTapeLabel, newLabel;
     struct tapeEntryList *endList;
-    extern struct tapeConfig globalTapeConfig;
 
     /* construct the name of the tape */
     sprintf(tapeName, "%s.%-d", DUMP_TAPE_NAME, sequence);
@@ -176,7 +198,7 @@ GetDBTape(taskId, expires, tapeInfoPtr, dumpid, sequence, queryFlag,
                goto getNewTape;
            }
 
-           /* On first tape, the savedb has not started yet, so the database is not locked 
+           /* On first tape, the savedb has not started yet, so the database is not locked
             * and we can therefore, access information from it. This is easier to do because
             * database dumps don't have appended dumps (nor appended).
             */
@@ -185,7 +207,7 @@ GetDBTape(taskId, expires, tapeInfoPtr, dumpid, sequence, queryFlag,
                struct budb_dumpEntry de, de2;
 
                /* Verify the tape has not expired
-                * Early database dumps don't have a dumpid 
+                * Early database dumps don't have a dumpid
                 */
                if (!tapeExpired(&oldTapeLabel)) {
                    TLog(taskId, "This tape has not expired\n");
@@ -226,7 +248,7 @@ GetDBTape(taskId, expires, tapeInfoPtr, dumpid, sequence, queryFlag,
            }
 
            /* Otherwise, the savedb is in progress and we can't
-            * access the database (it's locked). So we rely on the 
+            * access the database (it's locked). So we rely on the
             * information available (and not the backup database).
             */
            else {
@@ -306,7 +328,7 @@ GetDBTape(taskId, expires, tapeInfoPtr, dumpid, sequence, queryFlag,
  */
 
 afs_int32
-freeTapeList()
+freeTapeList(void)
 {
     struct tapeEntryList *next;
 
@@ -322,13 +344,12 @@ freeTapeList()
 }
 
 /* addTapesToDb
- *       With the list of tapes, add them to the database. 
+ *       With the list of tapes, add them to the database.
  *       Also delete any olddumpids that are around.
  */
 
 afs_int32
-addTapesToDb(taskId)
-     afs_int32 taskId;
+addTapesToDb(afs_int32 taskId)
 {
     afs_int32 code = 0;
     afs_int32 i, new;
@@ -376,12 +397,9 @@ addTapesToDb(taskId)
  *     the blocksize on writes
  */
 
-static
-writeDbDump(tapeInfoPtr, taskId, expires, dumpid)
-     struct butm_tapeInfo *tapeInfoPtr;
-     afs_uint32 taskId;
-     Date expires;
-     afs_uint32 dumpid;
+static int
+writeDbDump(struct butm_tapeInfo *tapeInfoPtr, afs_uint32 taskId,
+           Date expires, afs_uint32 dumpid)
 {
     afs_int32 blockSize;
     afs_int32 writeBufNbytes = 0;
@@ -421,12 +439,12 @@ writeDbDump(tapeInfoPtr, taskId, expires, dumpid)
     memset(writeBuffer, 0, BUTM_BLKSIZE);
     maxReadSize = 1024;
 
-    /* 
-     * The margin of space to check for end of tape is set to the 
-     * amount of space used to write an end-of-tape multiplied by 2. 
+    /*
+     * The margin of space to check for end of tape is set to the
+     * amount of space used to write an end-of-tape multiplied by 2.
      * The amount of space is size of a 16K EODump marker, its EOF
      * marker, and up to two EOF markers done on close (1 16K blocks +
-     * 3 EOF * markers). 
+     * 3 EOF * markers).
      */
     tc_EndMargin = (16384 + 3 * globalTapeConfig.fileMarkSize) * 2;
     tc_KEndMargin = tc_EndMargin / 1024;
@@ -681,7 +699,7 @@ saveDbToTape(void *param)
                  &wroteLabel);
 
     /*
-     * If did not write the label, remove created dump 
+     * If did not write the label, remove created dump
      * Else if wrote the label, remove old dump from db so it's not saved.
      */
     if (!wroteLabel) {
@@ -742,23 +760,17 @@ saveDbToTape(void *param)
 
     free(saveDbIfPtr);
     LeaveDeviceQueue(deviceLatch);
-    return (void *)(code);
+    return (void *)(intptr_t)(code);
 }
 
-struct rstTapeInfo {
-    afs_int32 taskId;
-    afs_int32 tapeSeq;
-    afs_uint32 dumpid;
-};
 
 /* makeDbDumpEntry()
  *      Make a database dump entry given a tape label.
  */
 
 afs_int32
-makeDbDumpEntry(tapeEntPtr, dumpEntryPtr)
-     struct budb_tapeEntry *tapeEntPtr;
-     struct budb_dumpEntry *dumpEntryPtr;
+makeDbDumpEntry(struct budb_tapeEntry *tapeEntPtr,
+               struct budb_dumpEntry *dumpEntryPtr)
 {
     memset(dumpEntryPtr, 0, sizeof(struct budb_dumpEntry));
 
@@ -788,10 +800,8 @@ makeDbDumpEntry(tapeEntPtr, dumpEntryPtr)
  */
 
 afs_int32
-readDbTape(tapeInfoPtr, rstTapeInfoPtr, query)
-     struct butm_tapeInfo *tapeInfoPtr;
-     struct rstTapeInfo *rstTapeInfoPtr;
-     int query;
+readDbTape(struct butm_tapeInfo *tapeInfoPtr,
+          struct rstTapeInfo *rstTapeInfoPtr, int query)
 {
     afs_int32 code = 0;
     int interactiveFlag;
@@ -907,7 +917,7 @@ readDbTape(tapeInfoPtr, rstTapeInfoPtr, query)
 
 static afs_int32 nbytes = 0;   /* # bytes left in buffer */
 static void
-initTapeBuffering()
+initTapeBuffering(void)
 {
     nbytes = 0;
 }
@@ -919,10 +929,9 @@ initTapeBuffering()
  *     tape positioned after tape label
  */
 
-static
-restoreDbEntries(tapeInfoPtr, rstTapeInfoPtr)
-     struct butm_tapeInfo *tapeInfoPtr;
-     struct rstTapeInfo *rstTapeInfoPtr;
+static int
+restoreDbEntries(struct butm_tapeInfo *tapeInfoPtr,
+                struct rstTapeInfo *rstTapeInfoPtr)
 {
     struct structDumpHeader netItemHeader, hostItemHeader;
     afs_int32 more = 1;
@@ -1018,7 +1027,7 @@ restoreDbEntries(tapeInfoPtr, rstTapeInfoPtr)
 void *
 restoreDbFromTape(void *param)
 {
-    afs_uint32 taskId = (afs_uint32) param;
+    afs_uint32 taskId = (intptr_t) param;
     afs_int32 code = 0;
     afs_int32 i;
     struct butm_tapeInfo tapeInfo;
@@ -1104,16 +1113,16 @@ restoreDbFromTape(void *param)
     LeaveDeviceQueue(deviceLatch);
     setStatus(taskId, TASK_DONE);
 
-    return (void *)(code);
+    return (void *)(intptr_t)(code);
 }
 
 /* KeepAlive
- * 
- *      While dumping the database, keeps the connection alive.  
+ *
+ *      While dumping the database, keeps the connection alive.
  *      Every 10 seconds, wake up and ask to read 0 bytes of the database.
- *      This resets the database's internal timer so that it does not 
+ *      This resets the database's internal timer so that it does not
  *      prematuraly quit (on asking for new tapes and such).
- *      
+ *
  *      Use the same udbHandle as writeDbDump so we go to the same server.
  */
 void *
@@ -1147,10 +1156,10 @@ KeepAlive(void *unused)
  *     restore special items in the header
  */
 
-restoreDbHeader(tapeInfo, rstTapeInfoPtr, nextHeader)
-     struct butm_tapeInfo *tapeInfo;
-     struct rstTapeInfo *rstTapeInfoPtr;
-     struct structDumpHeader *nextHeader;
+int
+restoreDbHeader(struct butm_tapeInfo *tapeInfo,
+               struct rstTapeInfo *rstTapeInfoPtr,
+               struct structDumpHeader *nextHeader)
 {
     struct structDumpHeader netItemHeader;
     struct DbHeader netDbHeader, hostDbHeader;
@@ -1198,28 +1207,25 @@ restoreDbHeader(tapeInfo, rstTapeInfoPtr, nextHeader)
  *     nextHeader - ptr to structure for return value
  * exit:
  *     nextHeader - next structure header from tape
- * notes: 
+ * notes:
  *     upon entry, the dump structure header has been read confirming that
  *     a database dump tree exists on the tape
  */
 
-restoreDbDump(tapeInfo, rstTapeInfoPtr, nextHeader)
-     struct butm_tapeInfo *tapeInfo;
-     struct rstTapeInfo *rstTapeInfoPtr;
-     struct structDumpHeader *nextHeader;
+int
+restoreDbDump(struct butm_tapeInfo *tapeInfo,
+             struct rstTapeInfo *rstTapeInfoPtr,
+             struct structDumpHeader *nextHeader)
 {
     struct budb_dumpEntry netDumpEntry, hostDumpEntry;
     struct budb_tapeEntry netTapeEntry, hostTapeEntry;
     struct budb_volumeEntry netVolumeEntry, hostVolumeEntry;
     struct structDumpHeader netItemHeader;
-    afs_int32 taskId;
     int restoreThisDump = 1;
     afs_int32 code = 0;
 
     extern struct udbHandleS udbHandle;
 
-    taskId = rstTapeInfoPtr->taskId;
-
     /* read dump entry */
     memset(&netDumpEntry, 0, sizeof(netDumpEntry));
     code =
@@ -1348,10 +1354,7 @@ restoreDbDump(tapeInfo, rstTapeInfoPtr, nextHeader)
  */
 
 afs_int32
-saveTextFile(taskId, textType, fileName)
-     afs_int32 taskId;
-     afs_int32 textType;
-     char *fileName;
+saveTextFile(afs_int32 taskId, afs_int32 textType, char *fileName)
 {
     udbClientTextP ctPtr = 0;
     afs_int32 code = 0;
@@ -1405,10 +1408,10 @@ saveTextFile(taskId, textType, fileName)
  *     nextHeader - struct header for next item on the tape
  */
 
-restoreText(tapeInfo, rstTapeInfoPtr, nextHeader)
-     struct butm_tapeInfo *tapeInfo;
-     struct rstTapeInfo *rstTapeInfoPtr;
-     struct structDumpHeader *nextHeader;
+int
+restoreText(struct butm_tapeInfo *tapeInfo,
+           struct rstTapeInfo *rstTapeInfoPtr,
+           struct structDumpHeader *nextHeader)
 {
     char filename[64];
     afs_int32 nbytes;
@@ -1526,7 +1529,7 @@ static char *tapeReadBufferPtr = 0;       /* position in buffer */
 
 /* getTapeData
  *     Read information from tape, and place the requested number of bytes
- *     in the buffer supplied 
+ *     in the buffer supplied
  * entry:
  *     tapeInfo
  *     rstTapeInfoPtr - Info about the dump being restored.
@@ -1536,15 +1539,14 @@ static char *tapeReadBufferPtr = 0;     /* position in buffer */
  *     fn retn - 0, ok, n, error
  */
 
-getTapeData(tapeInfoPtr, rstTapeInfoPtr, buffer, requestedBytes)
-     struct butm_tapeInfo *tapeInfoPtr;
-     struct rstTapeInfo *rstTapeInfoPtr;
-     char *buffer;
-     afs_int32 requestedBytes;
+int
+getTapeData(struct butm_tapeInfo *tapeInfoPtr,
+           struct rstTapeInfo *rstTapeInfoPtr,
+           void *out, afs_int32 requestedBytes)
 {
-    afs_int32 taskId, transferBytes, new;
+    char *buffer = (char *) out;
+    afs_int32 taskId, transferBytes;
     afs_int32 code = 0;
-    afs_uint32 dumpid;
 
     taskId = rstTapeInfoPtr->taskId;