]> andersk Git - moira.git/blobdiff - afssync/ubik.c
Diane Delgado's changes for a fixed table-locking order
[moira.git] / afssync / ubik.c
index 07fa2d3f69a68ee205a61991be3678abc7459838..f00891c48354e374a88fea163d6c75e4fe88df87 100644 (file)
@@ -1,6 +1,8 @@
-/* $Header$ */
+/* $Id$ */
 
 #include <sys/types.h>
+#include <netinet/in.h>
+
 #include <lock.h>
 #define UBIK_INTERNALS
 #include <ubik.h>
 #include "print.h"
 #include "prserver.h"
 
-
+extern int dbase_fd;
 struct ubik_dbase *dbase;
 
-long ubik_BeginTrans()
+int ubik_ServerInit()
 {
     return(0);
 }
 
-long ubik_SetLock()
+int ubik_BeginTrans()
 {
+    static int init=0;
+    struct ubik_hdr thdr;
+
+    if (!init) {
+       thdr.version.epoch = htonl(0);
+       thdr.version.counter = htonl(0);
+       thdr.magic = htonl(UBIK_MAGIC);
+       thdr.size = htonl(HDRSIZE);
+       lseek(dbase_fd, 0, 0);
+       write(dbase_fd, &thdr, sizeof(thdr));
+       fsync(dbase_fd);
+       init = 1;
+    }
     return(0);
 }
 
-long ubik_AbortTrans()
+int ubik_BeginTransReadAny()
 {
     return(0);
 }
 
-long ubik_GetVersion(dummy, ver)
-int dummy;
-struct ubik_version *ver;
+int ubik_AbortTrans()
+{
+    return(0);
+}
+
+int ubik_EndTrans()
 {
-    bzero(ver, sizeof(struct ubik_version));
     return(0);
 }
 
-long ubik_EndTrans()
+int ubik_Tell()
 {
     return(0);
 }
 
+int ubik_Truncate()
+{
+    return(0);
+}
+
+long ubik_SetLock()
+{
+    return(0);
+}
+
+int ubik_WaitVersion()
+{
+    return(0);
+}
+
+int ubik_CacheUpdate()
+{
+    return(0);
+}
+
+int panic(a, b, c, d)
+char *a, *b, *c, *d;
+{
+    printf(a, b, c, d);
+    abort();
+    printf("BACK FROM ABORT\n");    /* shouldn't come back from floating pt exception */
+    exit(1);    /* never know, though */
+}
+
+int ubik_GetVersion(dummy, ver)
+int dummy;
+struct ubik_version *ver;
+{
+    bzero(ver, sizeof(struct ubik_version));
+    return(0);
+}
 
-extern int dbase_fd;
 
-long ubik_Seek(tt, afd, pos)
+int ubik_Seek(tt, afd, pos)
 struct ubik_trans *tt;
 long afd;
 long pos;
@@ -54,7 +106,7 @@ long pos;
     return(0);
 }
 
-long ubik_Write(tt, buf, len)
+int ubik_Write(tt, buf, len)
 struct ubik_trans *tt;
 char *buf;
 long len;
@@ -69,7 +121,7 @@ long len;
     return(0);
 }
 
-long ubik_Read(tt, buf, len)
+int ubik_Read(tt, buf, len)
 struct ubik_trans *tt;
 char *buf;
 long len;
@@ -87,7 +139,18 @@ long len;
 }
 
 
-char *prdir = "/dev/null";
+/* Global declarations from ubik.c */
+long ubik_quorum=0;
+struct ubik_dbase *ubik_dbase=0;
+struct ubik_stats ubik_stats;
+long ubik_host;
+long ubik_epochTime = 0;
+long urecovery_state = 0;
+
+struct rx_securityClass *ubik_sc[3];
+
+
+/* Other declarations */
 
 afsconf_GetNoAuthFlag()
 {
@@ -95,4 +158,7 @@ afsconf_GetNoAuthFlag()
 }
 
 
+char *prdir = "/dev/null";
 struct prheader cheader;
+int pr_realmNameLen;
+char *pr_realmName;
This page took 0.07666 seconds and 4 git commands to generate.