c7513b56a26ff2f0d912d3f2ed0aa5aeed4cb729
[openafs.git] / src / WINNT / afsd / cm.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 #ifndef OPENAFS_WINNT_AFSD_CM_H
11 #define OPENAFS_WINNT_AFSD_CM_H 1
12
13 /* We use pthreads in the cache manager (not LWP) */
14 #ifndef AFS_PTHREAD_ENV
15 #define AFS_PTHREAD_ENV 1
16 #endif
17
18 #include <rx/rx.h>
19 #include <afs/vldbint.h>
20 #include <afs/afsint.h>
21 #include <afs/cm_error.h>
22
23 #define CM_DEFAULT_CALLBACKPORT         7001
24
25 /* common flags to many procedures */
26 #define CM_FLAG_CREATE          1               /* create entry */
27 #define CM_FLAG_CASEFOLD        2               /* fold case in namei, lookup, etc. */
28 #define CM_FLAG_EXCLUSIVE       4               /* create exclusive */
29 #define CM_FLAG_FOLLOW          8               /* follow symlinks, even at the end (namei) */
30 #define CM_FLAG_8DOT3           0x10            /* restrict to 8.3 name */
31 #define CM_FLAG_NOMOUNTCHASE    0x20            /* don't follow mount points */
32 #define CM_FLAG_DIRSEARCH       0x40            /* for directory search */
33 #define CM_FLAG_CHECKPATH       0x80            /* Path instead of File */
34 #define CM_FLAG_NOPROBE         0x100           /* For use with cm_GetCellxxx - do not probe server status */
35 #define CM_FLAG_DFS_REFERRAL    0x200           /* The request is a DFS Referral - the last char of the lookup name may be missing */
36
37 /* Private RX Errors */
38 #define CM_RX_RETRY_BUSY_CALL           (-13)
39
40 /* Used by cm_FollowMountPoint and cm_FindVolumeByName */
41 /* And as an index in cm_volume_t */
42 #define RWVOL   0
43 #define ROVOL   1
44 #define BACKVOL 2
45
46 #define LOCK_HIERARCHY_IGNORE                    0
47
48 #define LOCK_HIERARCHY_RDR_GLOBAL               10
49 #define LOCK_HIERARCHY_SMB_STARTED              20
50 #define LOCK_HIERARCHY_SMB_LISTENER             30
51 #define LOCK_HIERARCHY_SMB_DIRWATCH             40
52 #define LOCK_HIERARCHY_SMB_GLOBAL               50
53 #define LOCK_HIERARCHY_SMB_DIRSEARCH            60
54 #define LOCK_HIERARCHY_SMB_FID                  70
55 #define LOCK_HIERARCHY_SMB_TID                  80
56 #define LOCK_HIERARCHY_SMB_UID                  90
57 #define LOCK_HIERARCHY_SMB_RAWBUF              100
58 #define LOCK_HIERARCHY_SMB_RCT_GLOBAL          110
59 #define LOCK_HIERARCHY_SMB_VC                  120
60 #define LOCK_HIERARCHY_SMB_MONITOR             125
61
62
63 #define LOCK_HIERARCHY_SCACHE_DIRLOCK          500
64 #define LOCK_HIERARCHY_DAEMON_GLOBAL           510
65 #define LOCK_HIERARCHY_SMB_USERNAME            520
66 #define LOCK_HIERARCHY_SCACHE_BUFCREATE        530
67 #define LOCK_HIERARCHY_BUFFER                  540
68 #define LOCK_HIERARCHY_SCACHE                  550
69 #define LOCK_HIERARCHY_BUF_GLOBAL              560
70 #define LOCK_HIERARCHY_SCACHE_REDIRMX          565
71 #define LOCK_HIERARCHY_VOLUME                  570
72 #define LOCK_HIERARCHY_USER                    580
73 #define LOCK_HIERARCHY_SCACHE_GLOBAL           590
74 #define LOCK_HIERARCHY_CONN_GLOBAL             600
75 #define LOCK_HIERARCHY_CELL                    620
76 #define LOCK_HIERARCHY_CELL_GLOBAL             630
77 #define LOCK_HIERARCHY_SERVER                  640
78 #define LOCK_HIERARCHY_CALLBACK_GLOBAL         645
79 #define LOCK_HIERARCHY_SERVER_GLOBAL           650
80 #define LOCK_HIERARCHY_CONN                    660
81 #define LOCK_HIERARCHY_VOLUME_GLOBAL           670
82 #define LOCK_HIERARCHY_DNLC_GLOBAL             690
83 #define LOCK_HIERARCHY_FREELANCE_GLOBAL        700
84 #define LOCK_HIERARCHY_UTILS_GLOBAL            710
85 #define LOCK_HIERARCHY_OTHER_GLOBAL            720
86 #define LOCK_HIERARCHY_ACL_GLOBAL              730
87 #define LOCK_HIERARCHY_USER_GLOBAL             740
88 #define LOCK_HIERARCHY_AFSDBSBMT_GLOBAL       1000
89 #define LOCK_HIERARCHY_TOKEN_EVENT_GLOBAL     2000
90 #define LOCK_HIERARCHY_SYSCFG_GLOBAL          3000
91
92 #define LOCK_HIERARCHY_RDR_EXTENTS               0
93 #endif /*  OPENAFS_WINNT_AFSD_CM_H */
94
95