#include <afsconfig.h>
#include <afs/param.h>
+#include <afs/stds.h>
-RCSID
- ("$Header$");
+#include <roken.h>
-#include <afs/stds.h>
-#include <stdio.h>
-#include <string.h>
#include <ctype.h>
-#ifdef AFS_NT40_ENV
-#include <winsock2.h>
-#include <io.h>
-#else
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <unistd.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-#endif
-#include "afs_vosAdmin.h"
-#include "../adminutil/afs_AdminInternal.h"
+
#include <afs/vlserver.h>
+#include <afs/afsint.h>
#include <afs/volser.h>
#include <afs/volint.h>
+
+#include "afs_vosAdmin.h"
+#include "../adminutil/afs_AdminInternal.h"
+
+/* File descriptors are HANDLE's on NT. The following typedef helps catch
+ * type errors. Duplicated from vol/ihandle.h
+ */
+#ifdef AFS_NT40_ENV
+typedef HANDLE FD_t;
+#else
+typedef int FD_t;
+#endif
+#define INVALID_FD ((FD_t)-1)
+
#include <afs/partition.h>
#include <rx/rx.h>
#include <rx/rxstat.h>
/* Doesn't check for non-existance of backup volume */
if ((voltype == RWVOL) || (voltype == BACKVOL)) {
- vtype = ITSRWVOL;
+ vtype = VLSF_RWVOL;
istart = 0; /* seach the entire entry */
} else {
- vtype = ITSROVOL;
+ vtype = VLSF_ROVOL;
/* Seach from beginning of entry or pick up where we left off */
istart = ((*previdx < 0) ? 0 : *previdx + 1);
}
* same server as volumeId
*/
- if (rw_vol_entry.flags & BACK_EXISTS) {
+ if (rw_vol_entry.flags & VLF_BACKEXISTS) {
if (!GetVolumeInfo
(c_handle, rw_vol_entry.volumeId[BACKVOL], &bk_vol_entry,
&bk_server, &bk_partition, &bk_vol_type, &tst)) {
size_t prefix_len = 0;
nbulkentries arrayEntries;
afs_int32 nentries = 0;
- register struct nvldbentry *entry;
+ struct nvldbentry *entry;
int i;
afs_int32 rw_volid, rw_server, rw_partition;
int previdx;
int equal = 0;
char backbuf[1024];
- memset((void *)&attr, 0, sizeof(attr));
+ memset(&attr, 0, sizeof(attr));
+ memset(&arrayEntries, 0, sizeof(arrayEntries));
/*
* Validate arguments
prefix_len = strlen(volumePrefix);
}
- memset((void *)&arrayEntries, 0, sizeof(arrayEntries));
-
/*
* Get a list of all the volumes in the cell
*/
* Skip entries that don't have a RW volume
*/
- if (!(entry->flags & RW_EXISTS)) {
+ if (!(entry->flags & VLF_RWEXISTS)) {
if (callBack != NULL) {
const char *messageText;
if (util_AdminErrorCodeTranslate
int rc = 0;
afs_status_t tst = 0;
file_server_p f_server = (file_server_p) serverHandle;
- afs_admin_iterator_p iter =
- (afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
- partition_get_p part =
- (partition_get_p) calloc(1, sizeof(partition_get_t));
+ afs_admin_iterator_p iter = malloc(sizeof(afs_admin_iterator_t));
+ partition_get_p part = calloc(1, sizeof(partition_get_t));
/*
* Validate arguments
int rc = 0;
afs_status_t tst = 0;
afs_cell_handle_p c_handle = (afs_cell_handle_p) cellHandle;
- file_server_p f_server = (file_server_p) malloc(sizeof(file_server_t));
+ file_server_p f_server = malloc(sizeof(file_server_t));
int server_address;
struct rx_securityClass *sc[3];
int scIndex;
int ADMINAPI
vos_FileServerAddressChange(const void *cellHandle,
- vos_MessageCallBack_t callBack, int oldAddress,
- int newAddress, afs_status_p st)
+ vos_MessageCallBack_t callBack,
+ unsigned int oldAddress,
+ unsigned int newAddress, afs_status_p st)
{
int rc = 0;
afs_status_t tst = 0;
}
tst =
- ubik_Call_New(VL_ChangeAddr, c_handle->vos, 0, oldAddress,
- newAddress);
+ ubik_VL_ChangeAddr(c_handle->vos, 0, oldAddress, newAddress);
if (tst) {
goto fail_vos_FileServerAddressChange;
}
int ADMINAPI
vos_FileServerAddressRemove(const void *cellHandle,
- vos_MessageCallBack_t callBack, int serverAddress,
+ vos_MessageCallBack_t callBack,
+ unsigned int serverAddress,
afs_status_p st)
{
int rc = 0;
afs_status_t tst = 0;
afs_cell_handle_p c_handle = (afs_cell_handle_p) cellHandle;
- int dummyAddress = 0xffffffff;
+ unsigned int dummyAddress = 0xffffffff;
/*
* Validate arguments
}
tst =
- ubik_Call_New(VL_ChangeAddr, c_handle->vos, 0, dummyAddress,
+ ubik_VL_ChangeAddr(c_handle->vos, 0, dummyAddress,
serverAddress);
if (tst) {
goto fail_vos_FileServerAddressRemove;
int rc = 0;
afs_status_t tst = 0;
afs_cell_handle_p c_handle = (afs_cell_handle_p) cellHandle;
- afs_admin_iterator_p iter =
- (afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
- server_get_p serv = (server_get_p) calloc(1, sizeof(server_get_t));
+ afs_admin_iterator_p iter = malloc(sizeof(afs_admin_iterator_t));
+ server_get_p serv = calloc(1, sizeof(server_get_t));
struct VLCallBack unused;
serv->vldb = c_handle->vos;
tst =
- ubik_Call_New(VL_GetAddrs, c_handle->vos, 0, 0, 0, &unused,
+ ubik_VL_GetAddrs(c_handle->vos, 0, 0, 0, &unused,
&serv->total_addresses, &serv->addresses);
if (tst) {
int rc = 0;
afs_status_t tst = 0;
file_server_p f_server = (file_server_p) serverHandle;
- afs_admin_iterator_p iter =
- (afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
- transaction_get_p tran =
- (transaction_get_p) calloc(1, sizeof(transaction_get_t));
+ afs_admin_iterator_p iter = malloc(sizeof(afs_admin_iterator_t));
+ transaction_get_p tran = calloc(1, sizeof(transaction_get_t));
/*
dest->volumeSites[i].serverPartition = source->serverPartition[i];
dest->volumeSites[i].serverFlags = 0;
- if (source->serverFlags[i] & NEW_REPSITE) {
+ if (source->serverFlags[i] & VLSF_NEWREPSITE) {
dest->volumeSites[i].serverFlags |= VOS_VLDB_NEW_REPSITE;
}
- if (source->serverFlags[i] & ITSROVOL) {
+ if (source->serverFlags[i] & VLSF_ROVOL) {
dest->volumeSites[i].serverFlags |= VOS_VLDB_READ_ONLY;
}
- if (source->serverFlags[i] & ITSRWVOL) {
+ if (source->serverFlags[i] & VLSF_RWVOL) {
dest->volumeSites[i].serverFlags |= VOS_VLDB_READ_WRITE;
}
- if (source->serverFlags[i] & ITSBACKVOL) {
+ if (source->serverFlags[i] & VLSF_BACKVOL) {
dest->volumeSites[i].serverFlags |= VOS_VLDB_BACKUP;
}
- if (source->serverFlags[i] & RO_DONTUSE) {
+ if (source->serverFlags[i] & VLSF_DONTUSE) {
dest->volumeSites[i].serverFlags |= VOS_VLDB_DONT_USE;
}
int ADMINAPI
vos_VLDBGet(const void *cellHandle, vos_MessageCallBack_t callBack,
- const unsigned int *volumeId, const char *volumeName,
+ const unsigned int *volumeId, char *volumeName,
vos_vldbEntry_p vldbEntry, afs_status_p st)
{
int rc = 0;
afs_status_t tst = 0;
afs_cell_handle_p c_handle = (afs_cell_handle_p) cellHandle;
file_server_p f_server = (file_server_p) serverHandle;
- afs_admin_iterator_p iter =
- (afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
- vldb_entry_get_p entry =
- (vldb_entry_get_p) calloc(1, sizeof(vldb_entry_get_t));
+ afs_admin_iterator_p iter = malloc(sizeof(afs_admin_iterator_t));
+ vldb_entry_get_p entry = calloc(1, sizeof(vldb_entry_get_t));
struct VldbListByAttributes attr;
attr.Mask = 0;
int ADMINAPI
vos_VolumeCreate(const void *cellHandle, const void *serverHandle,
vos_MessageCallBack_t callBack, unsigned int partition,
- const char *volumeName, unsigned int quota,
+ char *volumeName, unsigned int quota,
unsigned int *volumeId, afs_status_p st)
{
int rc = 0;
int ADMINAPI
vos_VolumeRename(const void *cellHandle, vos_MessageCallBack_t callBack,
- unsigned int readWriteVolumeId, const char *newVolumeName,
+ unsigned int readWriteVolumeId, char *newVolumeName,
afs_status_p st)
{
int rc = 0;
int ADMINAPI
vos_VolumeRestore(const void *cellHandle, const void *serverHandle,
vos_MessageCallBack_t callBack, unsigned int partition,
- unsigned int *volumeId, const char *volumeName,
+ unsigned int *volumeId, char *volumeName,
const char *dumpFile, vos_volumeRestoreType_t dumpType,
afs_status_p st)
{
* user from seeing stale data from a previous call
*/
- memset(dest, 0, sizeof(dest));
+ memset(dest, 0, sizeof(*dest));
switch (source->status) {
case VOK:
int rc = 0;
afs_status_t tst = 0;
file_server_p f_server = (file_server_p) serverHandle;
- afs_admin_iterator_p iter =
- (afs_admin_iterator_p) malloc(sizeof(afs_admin_iterator_t));
- volume_get_p entry = (volume_get_p) calloc(1, sizeof(volume_get_t));
+ afs_admin_iterator_p iter = malloc(sizeof(afs_admin_iterator_t));
+ volume_get_p entry = calloc(1, sizeof(volume_get_t));
/*
* Validate arguments