/* * Copyright 2000, International Business Machines Corporation and others. * All Rights Reserved. * * This software has been released under the terms of the IBM Public * License. For details, see the LICENSE file in the top-level source * directory or online at http://www.openafs.org/dl/license10.html */ #include #include #include #ifdef AFS_AIX_ENV #include #endif #ifdef AFS_NT40_ENV #include #include #else #include #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include "../../volser/lockdata.h" #include "../../vlserver/vlclient.h" #include #include #include #include #include #include #include "../adminutil/afs_AdminInternal.h" #define CLOCKSKEW 2 /* not really skew, but resolution */ extern afs_int32 AFSVolPartitionInfo(); extern afs_int32 AFSVolTransCreate(); extern afs_int32 AFSVolEndTrans(); extern afs_int32 AFSVolSetInfo(); extern afs_int32 AFSVolDeleteVolume(); extern afs_int32 AFSVolNukeVolume(); extern afs_int32 AFSVolCreateVolume(); extern afs_int32 AFSVolSetFlags(); extern afs_int32 AFSVolReClone(); extern afs_int32 AFSVolClone(); extern afs_int32 AFSVolGetStatus(); extern afs_int32 AFSVolSetIdsTypes(); extern afs_int32 AFSVolSetDate(); extern afs_int32 AFSVolXListPartitions(); extern afs_int32 AFSVolListPartitions(); extern afs_int32 AFSVolListVolumes(); extern afs_int32 AFSVolMonitor(); extern afs_int32 AFSVolGetName(); extern afs_int32 AFSVolForward(); extern afs_int32 AFSVolSetForwarding(); extern afs_int32 AFSVolXListVolumes(); extern afs_int32 AFSVolXListOneVolume(); extern afs_int32 AFSVolForwardMultiple(); extern afs_int32 AFSVolListOneVolume(); extern afs_int32 StartAFSVolDump(); extern afs_int32 StartAFSVolRestore(); extern int ubik_Call(); extern int ubik_Call_New(); extern int UV_NukeVolume( afs_cell_handle_p cellHandle, struct rx_connection *server, unsigned int partition, unsigned int volumeId, afs_status_p st ); extern int UV_CreateVolume( afs_cell_handle_p cellHandle, struct rx_connection *server, unsigned int partition, const char *volumeName, unsigned int quota, unsigned int *volumeId, afs_status_p st ); extern int UV_DeleteVolume( afs_cell_handle_p cellHandle, struct rx_connection *server, unsigned int partition, unsigned int volumeId, afs_status_p st ); extern int UV_MoveVolume( afs_cell_handle_p cellHandle, afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart, afs_int32 atoserver, afs_int32 atopart, afs_status_p st ); extern int UV_BackupVolume( afs_cell_handle_p cellHandle, afs_int32 aserver, afs_int32 apart, afs_int32 avolid, afs_status_p st ); extern int UV_ReleaseVolume( afs_cell_handle_p cellHandle, afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart, int forceflag, afs_status_p st ); extern int UV_DumpVolume( afs_cell_handle_p cellHandle, afs_int32 afromvol, afs_int32 afromserver, afs_int32 afrompart, afs_int32 fromdate, const char *filename, afs_status_p st ); extern int UV_RestoreVolume( afs_cell_handle_p cellHandle, afs_int32 toserver, afs_int32 topart, afs_int32 tovolid, const char *tovolname, int flags, const char *dumpFile, afs_status_p st ); extern int UV_AddSite( afs_cell_handle_p cellHandle, afs_int32 server, afs_int32 part, afs_int32 volid, afs_status_p st ); extern int UV_RemoveSite( afs_cell_handle_p cellHandle, afs_int32 server, afs_int32 part, afs_int32 volid, afs_status_p st ); extern int UV_ListPartitions( struct rx_connection *server, struct partList *ptrPartList, afs_int32 *cntp, afs_status_p st ); extern int UV_XListVolumes( struct rx_connection *server, afs_int32 a_partID, int a_all, struct volintXInfo **a_resultPP, afs_int32 *a_numEntsInResultP, afs_status_p st ); extern int UV_XListOneVolume( struct rx_connection *server, afs_int32 a_partID, afs_int32 a_volID, struct volintXInfo **a_resultPP, afs_status_p st ); extern int UV_SyncVldb( afs_cell_handle_p cellHandle, struct rx_connection *server, afs_int32 apart, int flags, int force, afs_status_p st ); extern int CheckVldb( afs_cell_handle_p cellHandle, struct nvldbentry *entry, afs_int32 *modified, afs_status_p st ); extern int UV_SyncServer( afs_cell_handle_p cellHandle, struct rx_connection *server, afs_int32 apart, int flags, afs_status_p st ); extern int UV_VolserStatus( struct rx_connection *server, transDebugInfo **rpntr, afs_int32 *rcount, afs_status_p st ); extern int UV_VolumeZap( afs_cell_handle_p cellHandle, struct rx_connection *serverHandle, unsigned int partition, unsigned int volumeId, afs_status_p st ); extern int UV_SetVolume( struct rx_connection *server, afs_int32 partition, afs_int32 volid, afs_int32 transflag, afs_int32 setflag, unsigned int sleep, afs_status_p st ); extern int UV_RenameVolume( afs_cell_handle_p cellHandle, struct nvldbentry *entry, const char *newname, afs_status_p st );