15f122628a430bd22ff2f7793749e95f16d8d220
[openafs.git] / src / package / validupdates.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  * validupdates.c
12  *
13  * Description:
14  *      Specification of all valid update modes for package, the AFS
15  *      workstation configuration tool.
16  *
17  *------------------------------------------------------------------------*/
18
19 #include <sys/param.h>
20
21 struct updatetype {
22     u_short filetype;           /*Type of file */
23     u_short updtflags;          /*A valid update specification for the filetype */
24 };
25
26 /*
27   * These entries record the meaning of the sequence of letters appearing
28   * as the first field of a line in the package configuration file.
29   *
30   * Question: Are FIQ and FIAQ combinations semantically valid?
31   */
32 static struct updatetype validupdates[] = {
33     S_IFBLK, /* B    */ 0,
34     S_IFCHR, /* C    */ 0,
35     S_IFDIR, /* D    */ 0,
36     S_IFDIR, /* DA   */ U_ABSPATH,
37     S_IFDIR, /* DR   */ U_RMEXTRA,
38     S_IFDIR, /* DRA  */ U_ABSPATH | U_RMEXTRA,
39     S_IFDIR, /* DX   */ U_LOSTFOUND,
40     S_IFDIR, /* DXA  */ U_ABSPATH | U_LOSTFOUND,
41     S_IFREG, /* F    */ 0,
42     S_IFREG, /* FA   */ U_ABSPATH,
43     S_IFREG, /* FI   */ U_NOOVERWRITE,
44     S_IFREG, /* FIA  */ U_ABSPATH | U_NOOVERWRITE,
45     S_IFREG, /* FO   */ U_RENAMEOLD,
46     S_IFREG, /* FOA  */ U_ABSPATH | U_RENAMEOLD,
47     S_IFREG, /* FQ   */ U_REBOOT,
48     S_IFREG, /* FAQ  */ U_ABSPATH | U_REBOOT,
49     S_IFREG, /* FIQ  */ U_NOOVERWRITE | U_REBOOT,
50     S_IFREG, /* FIAQ */ U_ABSPATH | U_NOOVERWRITE | U_REBOOT,
51     S_IFREG, /* FOQ  */ U_RENAMEOLD | U_REBOOT,
52     S_IFREG, /* FOAQ */ U_ABSPATH | U_RENAMEOLD | U_REBOOT,
53     S_IFLNK, /* L    */ 0,
54     S_IFLNK, /* LA   */ U_ABSPATH,
55     S_IFLNK, /* LI   */ U_NOOVERWRITE,
56     S_IFLNK, /* LIA  */ U_ABSPATH | U_NOOVERWRITE,
57 #ifndef AFS_AIX_ENV
58     S_IFSOCK, /* S    */ 0,
59 #endif /* AFS_AIX_ENV */
60 #ifdef S_IFIFO
61     S_IFIFO, /*P     */ 0,
62     S_IFIFO, /*PA    */ U_ABSPATH,
63     S_IFIFO, /*PO    */ U_RENAMEOLD,
64     S_IFIFO, /*PI    */ U_NOOVERWRITE,
65     S_IFIFO, /*PAO   */ U_ABSPATH | U_RENAMEOLD,
66     S_IFIFO, /*PAI   */ U_NOOVERWRITE,
67 #endif /* S_IFIFO */
68     /* W  0, $$what?: undocumented feature */
69     0, 0
70 };