/*
* 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
%#endif
/* Current limitations on parameters that affect other packages (i.e. volume) */
+%#define VldbVersion "4"
+
const VLDBVERSION_4 = 4;
const VLDBVERSION = 3;
const OVLDBVERSION = 2;
const VLUPDATE_REPS_MODPART = 0x0800;
const VLUPDATE_REPS_MODFLAG = 0x1000;
-const VLSERVER_FLAG_UUID = 0x0010;
-
/*typedef string volumename<VL_MAXNAMELEN>;*/
const DEFAULTBULK = 10000;
const VLOP_DELETE = 0x80;
const VLOP_DUMP = 0x100;
+/*
+ * Additional VLOP_xxxx constants cannot be added without breaking
+ * compatibility so must reuse values. New names are added for
+ * code readability.
+ */
+%#define VLOP_ADDSITE VLOP_DELETE
+%#define VLOP_RESTORE VLOP_DUMP
+
%#define VLOP_ALLOPERS ( VLOP_MOVE | VLOP_RELEASE | VLOP_BACKUP | VLOP_DELETE | VLOP_DUMP)
/* defines for convenience of vl users */
%#define VLSF_ROVOL 0x02
%#define VLSF_RWVOL 0x04
%#define VLSF_BACKVOL 0x08
-%#define VLSF_DONTUSE 0x20 /* no conflict with VLSERVER_FLAG_UUID */
+%#define VLSF_UUID 0x10
+%#define VLSF_DONTUSE 0x20
+%#define VLSF_RWREPLICA 0x40 /* Volume is a RW replica */
typedef vldbentry bulkentries<>;
typedef nvldbentry nbulkentries<>;
typedef uvldbentry ubulkentries<>;
-typedef afs_uint32 bulkaddrs<>;
+/*
+ * 500 is an arbitrary implementation limit, larger than what we support storing.
+ * It lets the XDR decoder detect an attack (excessively large input) and reject
+ * it without incurring excessive resource usage.
+ */
+typedef afs_uint32 bulkaddrs<500>;
struct VLCallBack {
afs_uint32 CallBackVersion;