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