volser-directoryless-incremental-dumps-20070719
[openafs.git] / src / volser / volser_prototypes.h
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  * 
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
8  */
9
10 #ifndef _VOLSER_PROTOTYPES_H
11 #define _VOLSER_PROTOTYPES_H
12
13 /* common.c */
14
15 /* vsprocs.c */
16 struct nvldbentry;
17 extern void MapPartIdIntoName(afs_int32 partId, char *partName);
18 extern int yesprompt(char *str);
19 extern int PrintError(char *msg, afs_int32 errcode);
20 extern void init_volintInfo(struct volintInfo *vinfo);
21 extern int UV_SetSecurity(register struct rx_securityClass *as,
22                           afs_int32 aindex);
23 extern struct rx_connection *UV_Bind(afs_int32 aserver, afs_int32 port);
24 extern void SubEnumerateEntry(struct nvldbentry *entry);
25 extern void EnumerateEntry(struct nvldbentry *entry);
26 extern int UV_NukeVolume(afs_int32 server, afs_int32 partid, afs_int32 volid);
27 extern int UV_PartitionInfo(afs_int32 server, char *pname,
28                             struct diskPartition *partition);
29 extern int UV_CreateVolume(afs_int32 aserver, afs_int32 apart, char *aname,
30                            afs_int32 * anewid);
31 extern int UV_CreateVolume2(afs_int32 aserver, afs_int32 apart, char *aname,
32                             afs_int32 aquota, afs_int32 aspare1,
33                             afs_int32 aspare2, afs_int32 aspare3,
34                             afs_int32 aspare4, afs_int32 * anewid);
35 extern int UV_AddVLDBEntry(afs_int32 aserver, afs_int32 apart, char *aname,
36                            afs_int32 aid);
37 extern int UV_DeleteVolume(afs_int32 aserver, afs_int32 apart,
38                            afs_int32 avolid);
39 extern void sigint_handler(int x);
40 extern int UV_MoveVolume(afs_int32 afromvol, afs_int32 afromserver,
41                          afs_int32 afrompart, afs_int32 atoserver,
42                          afs_int32 atopart);
43 extern int UV_BackupVolume(afs_int32 aserver, afs_int32 apart,
44                            afs_int32 avolid);
45 extern int UV_ReleaseVolume(afs_int32 afromvol, afs_int32 afromserver,
46                             afs_int32 afrompart, int forceflag);
47 extern void dump_sig_handler(int x);
48 extern int UV_DumpVolume(afs_int32 afromvol, afs_int32 afromserver,
49                          afs_int32 afrompart, afs_int32 fromdate,
50                          afs_int32(*DumpFunction) (), char *rock, afs_int32 flags);
51 extern int UV_RestoreVolume(afs_int32 toserver, afs_int32 topart,
52                             afs_int32 tovolid, char tovolname[], int flags,
53                             afs_int32(*WriteData) (), char *rock);
54 extern int UV_LockRelease(afs_int32 volid);
55 extern int UV_AddSite(afs_int32 server, afs_int32 part, afs_int32 volid);
56 extern int UV_RemoveSite(afs_int32 server, afs_int32 part, afs_int32 volid);
57 extern int UV_ChangeLocation(afs_int32 server, afs_int32 part,
58                              afs_int32 volid);
59 extern int UV_ListPartitions(afs_int32 aserver, struct partList *ptrPartList,
60                              afs_int32 * cntp);
61 extern int UV_ZapVolumeClones(afs_int32 aserver, afs_int32 apart,
62                               struct volDescription *volPtr,
63                               afs_int32 arraySize);
64 extern int UV_GenerateVolumeClones(afs_int32 aserver, afs_int32 apart,
65                                    struct volDescription *volPtr,
66                                    afs_int32 arraySize);
67 extern int UV_ListVolumes(afs_int32 aserver, afs_int32 apart, int all,
68                           struct volintInfo **resultPtr, afs_int32 * size);
69 extern int UV_XListVolumes(afs_int32 a_serverID, afs_int32 a_partID,
70                            int a_all, struct volintXInfo **a_resultPP,
71                            afs_int32 * a_numEntsInResultP);
72 extern int UV_ListOneVolume(afs_int32 aserver, afs_int32 apart,
73                             afs_int32 volid, struct volintInfo **resultPtr);
74 extern int UV_XListOneVolume(afs_int32 a_serverID, afs_int32 a_partID,
75                              afs_int32 a_volID,
76                              struct volintXInfo **a_resultPP);
77 extern int sortVolumes(const void *a, const void *b);
78 extern int UV_SyncVolume(afs_int32 aserver, afs_int32 apart, char *avolname,
79                          int flags);
80 extern int UV_SyncVldb(afs_int32 aserver, afs_int32 apart, int flags,
81                        int force);
82 extern afs_int32 VolumeExists(afs_int32 server, afs_int32 partition,
83                               afs_int32 volumeid);
84 extern afs_int32 CheckVldbRWBK(struct nvldbentry *entry,
85                                afs_int32 * modified);
86 extern int CheckVldbRO(struct nvldbentry *entry, afs_int32 * modified);
87 extern afs_int32 CheckVldb(struct nvldbentry *entry, afs_int32 * modified);
88 extern int UV_SyncServer(afs_int32 aserver, afs_int32 apart, int flags,
89                          int force);
90 extern int UV_RenameVolume(struct nvldbentry *entry, char oldname[],
91                            char newname[]);
92 extern int UV_VolserStatus(afs_int32 server, transDebugInfo ** rpntr,
93                            afs_int32 * rcount);
94 extern int UV_VolumeZap(afs_int32 server, afs_int32 part, afs_int32 volid);
95 extern int UV_SetVolume(afs_int32 server, afs_int32 partition,
96                         afs_int32 volid, afs_int32 transflag,
97                         afs_int32 setflag, int sleeptime);
98 extern int UV_SetVolumeInfo(afs_int32 server, afs_int32 partition,
99                             afs_int32 volid, volintInfo * infop);
100 extern void MapNetworkToHost(struct nvldbentry *old, struct nvldbentry *new);
101 extern void MapHostToNetwork(struct nvldbentry *entry);
102
103 #endif