]> andersk Git - moira.git/blobdiff - afssync/ubik.c
Command line printer manipulation client, and build goo.
[moira.git] / afssync / ubik.c
index 07fa2d3f69a68ee205a61991be3678abc7459838..1757aa77384889c5122d02dd75cf4d18a2a9d985 100644 (file)
-/* $Header$ */
+/* $Id$ */
 
 #include <sys/types.h>
+#include <netinet/in.h>
+
 #include <lock.h>
 #define UBIK_INTERNALS
-#include <ubik.h>
+#include <stds.h>
 #include <rx/xdr.h>
 #include "print.h"
 #include "prserver.h"
 
+/* Stolen bits of ubik.h. */
+
+struct ubik_version {
+  afs_int32 epoch;
+  afs_int32 counter;
+};
+typedef struct ubik_version ubik_version;
+
+/* ubik header file structure */
+struct ubik_hdr {
+  afs_int32 magic;            /* magic number */
+  short pad1;                 /* some 0-initd padding */
+  short size;                 /* header allocation size */
+  struct ubik_version version;        /* the version for this file */
+};
 
+#define HDRSIZE             64  /* bytes of header per dbfile */
+#define UBIK_MAGIC      0x354545
+
+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()
 {
-    bzero(ver, sizeof(struct ubik_version));
     return(0);
 }
 
-long ubik_EndTrans()
+int ubik_EndTrans()
 {
     return(0);
 }
 
+int ubik_Tell()
+{
+    return(0);
+}
 
-extern int dbase_fd;
+int ubik_Truncate()
+{
+    return(0);
+}
+
+long ubik_SetLock()
+{
+    return(0);
+}
 
-long ubik_Seek(tt, afd, pos)
+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;
+{
+    memset(ver, 0, sizeof(struct ubik_version));
+    return(0);
+}
+
+
+int ubik_Seek(tt, afd, pos)
 struct ubik_trans *tt;
 long afd;
 long pos;
@@ -54,7 +125,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 +140,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;
@@ -82,12 +153,13 @@ long len;
        return(1);
     }
     if (status < len)
-      bzero(&buf[status], len - status);
+      memset(&buf[status], 0, len - status);
     return(0);
 }
 
+struct rx_securityClass *ubik_sc[3];
 
-char *prdir = "/dev/null";
+/* Other declarations */
 
 afsconf_GetNoAuthFlag()
 {
@@ -95,4 +167,7 @@ afsconf_GetNoAuthFlag()
 }
 
 
+char *prdir = "/dev/null";
 struct prheader cheader;
+int pr_realmNameLen;
+char *pr_realmName;
This page took 0.03933 seconds and 4 git commands to generate.