2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
10 #ifndef _VLSERVER_INTERNAL_H
11 #define _VLSERVER_INTERNAL_H
14 extern int Init_VLdbase(struct ubik_trans **trans, int locktype, int this_op);
17 extern afs_int32 vlwrite(struct ubik_trans *trans, afs_int32 offset,
18 void *buffer, afs_int32 length);
19 extern afs_int32 vlentrywrite(struct ubik_trans *trans, afs_int32 offset,
20 void *buffer, afs_int32 length);
21 extern int write_vital_vlheader(struct ubik_trans *trans);
22 extern afs_int32 readExtents(struct ubik_trans *trans);
23 extern afs_int32 CheckInit(struct ubik_trans *trans, int builddb);
24 extern afs_int32 AllocBlock(struct ubik_trans *trans,
25 struct nvlentry *tentry);
26 extern afs_int32 FindExtentBlock(struct ubik_trans *trans, afsUUID *uuidp,
27 afs_int32 createit, afs_int32 hostslot,
28 struct extentaddr **expp, afs_int32 *basep);
29 extern afs_int32 FindByID(struct ubik_trans *trans, afs_uint32 volid,
30 afs_int32 voltype, struct nvlentry *tentry,
32 extern afs_int32 FindByName(struct ubik_trans *trans, char *volname,
33 struct nvlentry *tentry, afs_int32 *error);
34 extern int EntryIDExists(struct ubik_trans *trans, const afs_uint32 *ids,
35 afs_int32 ids_len, afs_int32 *error);
36 extern afs_uint32 NextUnusedID(struct ubik_trans *trans, afs_uint32 maxvolid,
37 afs_uint32 bump, afs_int32 *error);
38 extern int HashNDump(struct ubik_trans *trans, int hashindex);
39 extern int HashIdDump(struct ubik_trans *trans, int hashindex);
40 extern int ThreadVLentry(struct ubik_trans *trans, afs_int32 blockindex,
41 struct nvlentry *tentry);
42 extern int UnthreadVLentry(struct ubik_trans *trans, afs_int32 blockindex,
43 struct nvlentry *aentry);
44 extern int HashVolid(struct ubik_trans *trans, afs_int32 voltype,
45 afs_int32 blockindex, struct nvlentry *tentry);
46 extern int UnhashVolid(struct ubik_trans *trans, afs_int32 voltype,
47 afs_int32 blockindex, struct nvlentry *aentry);
48 extern int HashVolname(struct ubik_trans *trans, afs_int32 blockindex,
49 struct nvlentry *aentry);
50 extern int UnhashVolname(struct ubik_trans *trans, afs_int32 blockindex,
51 struct nvlentry *aentry);
52 extern afs_int32 NextEntry(struct ubik_trans *trans, afs_int32 blockindex,
53 struct nvlentry *tentry, afs_int32 *remaining);
54 extern int FreeBlock(struct ubik_trans *trans, afs_int32 blockindex);