ptserver: Tidy header includes
[openafs.git] / src / ptserver / ubik.c
1 /* $Id$ */
2
3 #include <afsconfig.h>
4 #include <afs/param.h>
5 #include <afs/stds.h>
6
7 #include <roken.h>
8
9 #include <lock.h>
10 #include <afs/cellconfig.h>
11 #define UBIK_INTERNALS
12 #include <ubik.h>
13 #include <rx/xdr.h>
14
15 #include "ptint.h"
16 #include "ptserver.h"
17
18 extern int dbase_fd;
19 struct ubik_dbase *dbase;
20
21 int
22 ubik_ServerInit(afs_uint32 myHost, short myPort, afs_uint32 serverList[],
23                 const char *pathName, struct ubik_dbase **dbase)
24 {
25     return (0);
26 }
27
28 int
29 ubik_BeginTrans(struct ubik_dbase *dbase, afs_int32 transMode,
30                 struct ubik_trans **transPtr)
31 {
32     static int init = 0;
33     struct ubik_hdr thdr;
34
35     if (!init) {
36         thdr.version.epoch = htonl(2);
37         thdr.version.counter = htonl(0);
38         thdr.magic = htonl(UBIK_MAGIC);
39         thdr.size = htons(HDRSIZE);
40         lseek(dbase_fd, 0, 0);
41         write(dbase_fd, &thdr, sizeof(thdr));
42         fsync(dbase_fd);
43         init = 1;
44     }
45     return (0);
46 }
47
48 int
49 ubik_BeginTransReadAny(struct ubik_dbase *dbase, afs_int32 transMode,
50                        struct ubik_trans **transPtr)
51 {
52     return (0);
53 }
54
55 int
56 ubik_AbortTrans(struct ubik_trans *transPtr)
57 {
58     return (0);
59 }
60
61 int
62 ubik_EndTrans(struct ubik_trans *transPtr)
63 {
64     return (0);
65 }
66
67 int
68 ubik_Tell(struct ubik_trans *transPtr, afs_int32 * fileid,
69           afs_int32 * position)
70 {
71     return (0);
72 }
73
74 int
75 ubik_Truncate(struct ubik_trans *transPtr, afs_int32 length)
76 {
77     return (0);
78 }
79
80 int
81 ubik_SetLock(struct ubik_trans *atrans, afs_int32 apos, afs_int32 alen,
82              int atype)
83 {
84     return (0);
85 }
86
87 int
88 ubik_WaitVersion(struct ubik_dbase *adatabase,
89                  struct ubik_version *aversion)
90 {
91     return (0);
92 }
93
94 int
95 ubik_CheckCache(struct ubik_trans *atrans, ubik_updatecache_func cbf, void *rock)
96 {
97     return (*cbf)(atrans, rock);
98 }
99
100 void
101 panic(char *format, ...)
102 {
103     va_list ap;
104
105     va_start(ap, format);
106     vprintf(format, ap);
107     va_end(ap);
108
109     abort();
110     printf("BACK FROM ABORT\n");        /* shouldn't come back from floating pt exception */
111     exit(1);                    /* never know, though */
112 }
113
114 int
115 ubik_GetVersion(struct ubik_trans *dummy, struct ubik_version *ver)
116 {
117     memset(ver, 0, sizeof(struct ubik_version));
118     return (0);
119 }
120
121
122 int
123 ubik_Seek(struct ubik_trans *tt, afs_int32 afd, afs_int32 pos)
124 {
125     if (lseek(dbase_fd, pos + HDRSIZE, 0) < 0) {
126         perror("ubik_Seek");
127         return (-1);
128     }
129     return (0);
130 }
131
132 int
133 ubik_Write(struct ubik_trans *tt, void *buf, afs_int32 len)
134 {
135     int status;
136
137     status = write(dbase_fd, buf, len);
138     if (status < len) {
139         perror("ubik_Write");
140         return (1);
141     }
142     return (0);
143 }
144
145 int
146 ubik_Read(struct ubik_trans *tt, void *buf, afs_int32 len)
147 {
148     int status;
149
150     status = read(dbase_fd, buf, len);
151     if (status < 0) {
152         perror("ubik_Read");
153         return (1);
154     }
155     if (status < len)
156         memset((char *)buf + status, 0, len - status);
157     return (0);
158 }
159
160
161 /* Global declarations from ubik.c */
162 afs_int32 ubik_quorum = 0;
163 struct ubik_dbase *ubik_dbase = 0;
164 struct ubik_stats ubik_stats;
165 afs_uint32 ubik_host[UBIK_MAX_INTERFACE_ADDR];
166 afs_int32 ubik_epochTime = 0;
167 afs_int32 urecovery_state = 0;
168
169 struct rx_securityClass *ubik_sc[3];
170
171
172 /* Other declarations */
173
174 int
175 afsconf_GetNoAuthFlag(struct afsconf_dir *adir)
176 {
177     return (1);
178 }
179
180
181 char *prdir = "/dev/null";
182 struct prheader cheader;
183 char *pr_realmName;