Demand attach warning fixes
[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 extern void Log(const char *, ...);
15 extern void InitErrTabs(void);
16
17 /* vol_split.c */
18 extern afs_int32 split_volume(struct rx_call *, Volume *, Volume *,
19                               afs_uint32, afs_int32);
20
21 /* voltrans.c */
22 extern struct volser_trans *FindTrans(afs_int32);
23 extern struct volser_trans *NewTrans(afs_int32, afs_int32);
24 extern struct volser_trans *TransList(void);
25 extern afs_int32 DeleteTrans(struct volser_trans *atrans, afs_int32 lock);
26 extern afs_int32 TRELE (struct volser_trans *);
27
28 /* volprocs.c */
29 extern int VPFullUnlock(void);
30
31 /* voltrans.c */
32 extern afs_int32 GCTrans(void);
33
34 /* vsprocs.c */
35 struct nvldbentry;
36 extern void MapPartIdIntoName(afs_int32 partId, char *partName);
37 extern int yesprompt(char *str);
38 extern int PrintError(char *msg, afs_int32 errcode);
39 extern void init_volintInfo(struct volintInfo *vinfo);
40 extern int UV_SetSecurity(register struct rx_securityClass *as,
41                           afs_int32 aindex);
42 extern struct rx_connection *UV_Bind(afs_int32 aserver, afs_int32 port);
43 extern void SubEnumerateEntry(struct nvldbentry *entry);
44 extern void EnumerateEntry(struct nvldbentry *entry);
45 extern int UV_NukeVolume(afs_int32 server, afs_int32 partid, afs_uint32 volid);
46 extern int UV_PartitionInfo64(afs_int32 server, char *pname,
47                             struct diskPartition64 *partition);
48 extern int UV_CreateVolume(afs_int32 aserver, afs_int32 apart, char *aname,
49                            afs_uint32 * anewid);
50 extern int UV_CreateVolume2(afs_int32 aserver, afs_int32 apart, char *aname,
51                             afs_int32 aquota, afs_int32 aspare1,
52                             afs_int32 aspare2, afs_int32 aspare3,
53                             afs_int32 aspare4, afs_uint32 * anewid);
54 extern int UV_CreateVolume3(afs_int32 aserver, afs_int32 apart, char *aname,
55                             afs_int32 aquota, afs_int32 aspare1,
56                             afs_int32 aspare2, afs_int32 aspare3,
57                             afs_int32 aspare4, afs_uint32 * anewid,
58                             afs_uint32 * aroid, afs_uint32 * abkid);
59 extern int UV_AddVLDBEntry(afs_int32 aserver, afs_int32 apart, char *aname,
60                            afs_uint32 aid);
61 extern int UV_DeleteVolume(afs_int32 aserver, afs_int32 apart,
62                            afs_uint32 avolid);
63 extern void sigint_handler(int x);
64 extern int UV_MoveVolume(afs_uint32 afromvol, afs_int32 afromserver,
65                          afs_int32 afrompart, afs_int32 atoserver,
66                          afs_int32 atopart);
67 extern int UV_MoveVolume2(afs_uint32 afromvol, afs_int32 afromserver, 
68                           afs_int32 afrompart, afs_int32 atoserver, 
69                           afs_int32 atopart, int flags);
70 extern int UV_BackupVolume(afs_int32 aserver, afs_int32 apart,
71                            afs_uint32 avolid);
72 extern int UV_ReleaseVolume(afs_uint32 afromvol, afs_int32 afromserver,
73                             afs_int32 afrompart, int forceflag);
74 extern void dump_sig_handler(int x);
75 extern int UV_DumpVolume(afs_uint32 afromvol, afs_int32 afromserver,
76                          afs_int32 afrompart, afs_int32 fromdate,
77                          afs_int32(*DumpFunction) (struct rx_call *, void *),
78                          void *rock, afs_int32 flags);
79 extern int UV_RestoreVolume(afs_int32 toserver, afs_int32 topart,
80                             afs_uint32 tovolid, char tovolname[],
81                             int restoreflags,
82                             afs_int32(*WriteData) (struct rx_call *, void *),
83                             void *rock);
84 extern int UV_RestoreVolume2(afs_int32 toserver, afs_int32 topart,
85                              afs_uint32 tovolid, afs_int32 toparentid,
86                              char tovolname[], int flags,
87                              afs_int32(*WriteData) (struct rx_call *, void *),
88                              void *rock);
89 extern int UV_LockRelease(afs_uint32 volid);
90 extern int UV_AddSite(afs_int32 server, afs_int32 part, afs_uint32 volid,
91                       afs_int32 valid);
92 extern int UV_AddSite2(afs_int32 server, afs_int32 part, afs_uint32 volid,
93                        afs_uint32 rovolid, afs_int32 valid);
94 extern int UV_RemoveSite(afs_int32 server, afs_int32 part, afs_uint32 volid);
95 extern int UV_ChangeLocation(afs_int32 server, afs_int32 part,
96                              afs_uint32 volid);
97 extern int UV_ListPartitions(afs_int32 aserver, struct partList *ptrPartList,
98                              afs_int32 * cntp);
99 extern int UV_ZapVolumeClones(afs_int32 aserver, afs_int32 apart,
100                               struct volDescription *volPtr,
101                               afs_int32 arraySize);
102 extern int UV_GenerateVolumeClones(afs_int32 aserver, afs_int32 apart,
103                                    struct volDescription *volPtr,
104                                    afs_int32 arraySize);
105 extern int UV_ListVolumes(afs_int32 aserver, afs_int32 apart, int all,
106                           struct volintInfo **resultPtr, afs_int32 * size);
107 extern int UV_XListVolumes(afs_int32 a_serverID, afs_int32 a_partID,
108                            int a_all, struct volintXInfo **a_resultPP,
109                            afs_int32 * a_numEntsInResultP);
110 extern int UV_ListOneVolume(afs_int32 aserver, afs_int32 apart,
111                             afs_uint32 volid, struct volintInfo **resultPtr);
112 extern int UV_XListOneVolume(afs_int32 a_serverID, afs_int32 a_partID,
113                              afs_uint32 a_volID,
114                              struct volintXInfo **a_resultPP);
115 extern int sortVolumes(const void *a, const void *b);
116 extern int UV_SyncVolume(afs_int32 aserver, afs_int32 apart, char *avolname,
117                          int flags);
118 extern int UV_SyncVldb(afs_int32 aserver, afs_int32 apart, int flags,
119                        int force);
120 extern afs_int32 VolumeExists(afs_int32 server, afs_int32 partition,
121                               afs_uint32 volumeid);
122 extern afs_int32 CheckVldbRWBK(struct nvldbentry *entry,
123                                afs_int32 * modified);
124 extern int CheckVldbRO(struct nvldbentry *entry, afs_int32 * modified);
125 extern afs_int32 CheckVldb(struct nvldbentry *entry, afs_int32 * modified);
126 extern int UV_SyncServer(afs_int32 aserver, afs_int32 apart, int flags,
127                          int force);
128 extern int UV_RenameVolume(struct nvldbentry *entry, char oldname[],
129                            char newname[]);
130 extern int UV_VolserStatus(afs_int32 server, transDebugInfo ** rpntr,
131                            afs_int32 * rcount);
132 extern int UV_VolumeZap(afs_int32 server, afs_int32 part, afs_uint32 volid);
133 extern int UV_SetVolume(afs_int32 server, afs_int32 partition,
134                         afs_uint32 volid, afs_int32 transflag,
135                         afs_int32 setflag, int sleeptime);
136 extern int UV_SetVolumeInfo(afs_int32 server, afs_int32 partition,
137                             afs_uint32 volid, volintInfo * infop);
138 extern void MapNetworkToHost(struct nvldbentry *old, struct nvldbentry *new);
139 extern void MapHostToNetwork(struct nvldbentry *entry);
140 extern int UV_CopyVolume2(afs_uint32 afromvol, afs_int32 afromserver, 
141                           afs_int32 afrompart, char *atovolname, 
142                           afs_int32 atoserver, afs_int32 atopart,
143                           afs_uint32 atovolid, int flags);
144 extern int UV_CloneVolume(afs_int32 aserver, afs_int32 apart, afs_uint32 avolid,
145                           afs_uint32 acloneid, char *aname, int flags);
146 extern int UV_DumpClonedVolume(afs_uint32 afromvol, afs_int32 afromserver,
147                                afs_int32 afrompart, afs_int32 fromdate,
148                                afs_int32(*DumpFunction)
149                                           (struct rx_call *, void *),
150                                void *rock, afs_int32 flags);
151 extern int UV_GetSize(afs_uint32 afromvol, afs_int32 afromserver, 
152                       afs_int32 afrompart, afs_int32 fromdate, 
153                       struct volintSize *vol_size);
154
155 extern int verbose;
156 extern int noresolve;
157 #endif