Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / afs / voldefs.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 /*
11 * System: VICE-TWO
12 * Module: voldefs.h
13 * Institution: The Information Technology Center, Carnegie-Mellon University
14 */
15
16 /* If you add volume types here, be sure to check the definition of
17 * volumeWriteable in volume.h
18 */
19
20 #define readwriteVolume RWVOL
21 #define readonlyVolume ROVOL
22 #define backupVolume BACKVOL
23
24 #define RWVOL 0
25 #define ROVOL 1
26 #define BACKVOL 2
27
28 /*
29 * All volumes will have a volume header file with the filename
30 * in one of these two formats. The difference is largely historical.
31 * Early versions of System V Unix had severe limitations on maximum
32 * filename length, and the '.vol' extension had to be shortened to
33 * allow for the maximum volume name to fit. Those restrictions no
34 * longer apply, but the descendants of those legacy AIX and HPUX
35 * servers still use the shorter name.
36 *
37 * If you change VHDREXT, you must change VFORMAT as well. Don't try
38 * this with token pasting in cpp; it's just too inconsistent in
39 * across C compilers.
40 *
41 * Note that <afs/param.h> must have been included before we get here.
42 */
43
44 #if defined(AFS_AIX_ENV) || defined(AFS_HPUX_ENV)
45 #define VHDREXT ".vl"
46 #define VFORMAT "V%010" AFS_VOLID_FMT ".vl"
47 #else
48 #define VHDREXT ".vol"
49 #define VFORMAT "V%010" AFS_VOLID_FMT ".vol"
50 #endif
51
52 #define VMAXPATHLEN 64 /* Maximum length (including null) of a volume
53 * external path name
54 */