33e5c3f275815159ffd71c32394b2a762b861515
[openafs.git] / src / libadmin / vos / vsprocs.h
1 #include <afs/param.h>
2 #include <stdio.h>
3 #include <sys/types.h>
4 #include <sys/stat.h>
5 #ifdef  AFS_AIX_ENV
6 #include <sys/statfs.h>
7 #endif
8 #ifdef AFS_NT40_ENV
9 #include <fcntl.h>
10 #include <winsock2.h>
11 #else
12 #include <sys/file.h>
13 #include <netinet/in.h>
14 #endif
15 #include <lock.h>
16 #include <afs/voldefs.h>
17 #include <rx/xdr.h>
18 #include <rx/rx.h>
19 #include <afs/vlserver.h>
20 #include <afs/nfs.h>
21 #include <afs/auth.h>
22 #include <afs/cellconfig.h>
23 #include <afs/keys.h>
24 #include <ubik.h>
25 #include <afs/afsint.h>
26 #include <afs/volser.h>
27 #include <afs/volint.h>
28 #include "../../volser/lockdata.h"
29 #include "../../vlserver/vlclient.h"
30 #include <afs/com_err.h>
31 #include <rx/rxkad.h>
32 #include <afs/kautils.h>
33 #include <afs/cmd.h>
34 #include <errno.h>
35 #include <afs/afs_Admin.h>
36 #include "../adminutil/afs_AdminInternal.h"
37
38 #define CLOCKSKEW   2                   /* not really skew, but resolution */
39
40 extern afs_int32 AFSVolPartitionInfo();
41 extern afs_int32 AFSVolTransCreate();
42 extern afs_int32 AFSVolEndTrans();
43 extern afs_int32 AFSVolSetInfo();
44 extern afs_int32 AFSVolDeleteVolume();
45 extern afs_int32 AFSVolNukeVolume();
46 extern afs_int32 AFSVolCreateVolume();
47 extern afs_int32 AFSVolSetFlags();
48 extern afs_int32 AFSVolReClone();
49 extern afs_int32 AFSVolClone();
50 extern afs_int32 AFSVolGetStatus();
51 extern afs_int32 AFSVolSetIdsTypes();
52 extern afs_int32 AFSVolSetDate();
53 extern afs_int32 AFSVolXListPartitions();
54 extern afs_int32 AFSVolListPartitions();
55 extern afs_int32 AFSVolListVolumes();
56 extern afs_int32 AFSVolMonitor();
57 extern afs_int32 AFSVolGetName();
58 extern afs_int32 AFSVolForward();
59 extern afs_int32 AFSVolSetForwarding();
60 extern afs_int32 AFSVolXListVolumes();
61 extern afs_int32 AFSVolXListOneVolume();
62 extern afs_int32 AFSVolForwardMultiple();
63 extern afs_int32 AFSVolListOneVolume();
64 extern afs_int32 StartAFSVolDump();
65 extern afs_int32 StartAFSVolRestore();
66  
67 extern int ubik_Call();
68 extern int ubik_Call_New();
69
70
71 extern int UV_NukeVolume(
72   afs_cell_handle_p cellHandle,
73   struct rx_connection *server,
74   unsigned int partition,
75   unsigned int volumeId,
76   afs_status_p st
77 );
78
79 extern int UV_CreateVolume(
80   afs_cell_handle_p cellHandle,
81   struct rx_connection *server,
82   unsigned int partition,
83   const char *volumeName,
84   unsigned int quota,
85   unsigned int *volumeId,
86   afs_status_p st
87 );
88
89 extern int UV_DeleteVolume(
90   afs_cell_handle_p cellHandle,
91   struct rx_connection *server,
92   unsigned int partition,
93   unsigned int volumeId,
94   afs_status_p st
95 );
96
97 extern int UV_MoveVolume(
98   afs_cell_handle_p cellHandle,
99   afs_int32 afromvol,
100   afs_int32 afromserver,
101   afs_int32 afrompart,
102   afs_int32 atoserver,
103   afs_int32 atopart,
104   afs_status_p st
105 );
106
107 extern int UV_BackupVolume(
108   afs_cell_handle_p cellHandle,
109   afs_int32 aserver,
110   afs_int32 apart,
111   afs_int32 avolid,
112   afs_status_p st
113 );
114
115 extern int UV_ReleaseVolume(
116   afs_cell_handle_p cellHandle,
117   afs_int32 afromvol,
118   afs_int32 afromserver,
119   afs_int32 afrompart,
120   int forceflag,
121   afs_status_p st
122 );
123
124 extern int UV_DumpVolume(
125   afs_cell_handle_p cellHandle,
126   afs_int32 afromvol,
127   afs_int32 afromserver,
128   afs_int32 afrompart,
129   afs_int32 fromdate,
130   const char *filename,
131   afs_status_p st
132 );
133
134 extern int UV_RestoreVolume(
135   afs_cell_handle_p cellHandle,
136   afs_int32 toserver,
137   afs_int32 topart,
138   afs_int32 tovolid,
139   const char *tovolname,
140   int flags,
141   const char *dumpFile,
142   afs_status_p st
143 );
144
145 extern int UV_AddSite(
146   afs_cell_handle_p cellHandle,
147   afs_int32 server,
148   afs_int32 part,
149   afs_int32 volid,
150   afs_status_p st
151 );
152
153 extern int UV_RemoveSite(
154   afs_cell_handle_p cellHandle,
155   afs_int32 server,
156   afs_int32 part,
157   afs_int32 volid,
158   afs_status_p st
159 );
160
161 extern int UV_ListPartitions(
162   struct rx_connection *server,
163   struct partList *ptrPartList,
164   afs_int32 *cntp,
165   afs_status_p st
166 );
167
168 extern int UV_XListVolumes(
169   struct rx_connection *server,
170   afs_int32 a_partID,
171   int a_all,
172   struct volintXInfo **a_resultPP,
173   afs_int32 *a_numEntsInResultP,
174   afs_status_p st
175 );
176
177 extern int UV_XListOneVolume(
178   struct rx_connection *server,
179   afs_int32 a_partID,
180   afs_int32 a_volID,
181   struct volintXInfo **a_resultPP,
182   afs_status_p st
183 );
184
185 extern int UV_SyncVldb(
186   afs_cell_handle_p cellHandle,
187   struct rx_connection *server,
188   afs_int32 apart,
189   int flags,
190   int force,
191   afs_status_p st
192 );
193
194 extern int CheckVldb(
195   afs_cell_handle_p cellHandle,
196   struct nvldbentry *entry,
197   afs_int32 *modified,
198   afs_status_p st
199 );
200
201 extern int UV_SyncServer(
202   afs_cell_handle_p cellHandle,
203   struct rx_connection *server,
204   afs_int32 apart,
205   int flags,
206   afs_status_p st
207 );
208
209
210 extern int UV_VolserStatus(
211   struct rx_connection *server,
212   transDebugInfo **rpntr,
213   afs_int32 *rcount,
214   afs_status_p st
215 );
216
217 extern int UV_VolumeZap(
218   afs_cell_handle_p cellHandle,
219   struct rx_connection *serverHandle,
220   unsigned int partition,
221   unsigned int volumeId,
222   afs_status_p st
223 );
224
225 extern int UV_SetVolume(
226   struct rx_connection *server,
227   afs_int32 partition,
228   afs_int32 volid,
229   afs_int32 transflag,
230   afs_int32 setflag,
231   unsigned int sleep,
232   afs_status_p st
233 );
234
235 extern int UV_RenameVolume(
236   afs_cell_handle_p cellHandle,
237   struct nvldbentry *entry,
238   const char *newname,
239   afs_status_p st
240 );