495e2ba14f96d44a96cdd4cb24d46afb0820becb
[openafs.git] / src / WINNT / afsd / afsd.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 __AFSD_H_ENV__
11 #define __AFSD_H_ENV__ 1
12
13 #include <afs/param.h>
14
15 #ifndef DJGPP
16 BOOL InitClass(HANDLE);
17 BOOL InitInstance(HANDLE, int);
18
19 LONG APIENTRY MainWndProc(HWND, unsigned int, unsigned int, long);
20 BOOL APIENTRY About(HWND, unsigned int, unsigned int, long);
21 #endif /* !DJGPP */
22
23 #ifndef DJGPP
24 #include <nb30.h>
25 #else /* DJGPP */
26 #include <sys/farptr.h>
27 #include <go32.h>
28 #include "dosdefs95.h"
29 #include "largeint95.h"
30 #endif /* !DJGPP */
31
32 #include "afsdicon.h"
33
34 #include "cm.h"
35
36 #include "krb.h"
37 #include "krb_prot.h"
38 /*#include <crypt.h>*/
39 #include <afs/prs_fs.h>
40
41 #include <osi.h>
42 #include "cm_user.h"
43 #include "cm_callback.h"
44 #ifdef DISKCACHE95
45 #include "cm_diskcache95.h"
46 #endif /* DISKCACHE95 */
47 #include "cm_conn.h"
48 #include "cm_aclent.h"
49 #include "cm_cell.h"
50 #include "cm_config.h"
51 #include "cm_server.h"
52 #include "cm_volume.h"
53 #include "cm_scache.h"
54 #include "cm_dcache.h"
55 #include "cm_access.h"
56 #include "cm_vnodeops.h"
57 #include "cm_dir.h"
58 #include "cm_utils.h"
59 #include "cm_daemon.h"
60 #include "cm_ioctl.h"
61 #include "cm_dnlc.h"
62 #include "cm_buf.h"
63 #include "cm_freelance.h"
64 #include "smb_ioctl.h"
65 #include "afsd_init.h"
66 #ifdef DJGPP
67 #include "afs/afsmsg95.h"
68 #endif
69
70 #include <afs/vldbint.h>
71 #include <afs/afsint.h>
72
73 #define AFS_DAEMON_SERVICE_NAME "TransarcAFSDaemon"
74 #define AFS_DAEMON_EVENT_NAME "AFS Client"
75
76 void afs_exit();
77
78 /* globals from the base afsd */
79
80 extern int cm_logChunkSize;
81 extern int cm_chunkSize;
82
83 extern cm_volume_t *cm_rootVolumep;
84
85 extern cm_cell_t *cm_rootCellp;
86
87 extern cm_fid_t cm_rootFid;
88
89 extern cm_scache_t *cm_rootSCachep;
90
91 extern osi_log_t *afsd_logp;
92
93 extern char cm_mountRoot[];
94 extern DWORD cm_mountRootLen;
95
96 extern char cm_CachePath[];
97
98 extern BOOL isGateway;
99
100 extern BOOL reportSessionStartups;
101
102 #ifdef AFS_FREELANCE_CLIENT
103
104 // yj: Variables used by Freelance Client
105 extern char *cm_FakeRootDir;                                            // the fake root.afs directory
106
107 extern int cm_noLocalMountPoints;                                       // no. of fake mountpoints
108
109 extern cm_localMountPoint_t* cm_localMountPoints;       // array of fake mountpoints
110
111 extern int cm_fakeDirSize;                                                      // size (in bytes) of fake root.afs directory
112
113 extern int cm_fakeDirCallback;                                          // state of the fake root.afs directory. indicates
114                                                                                                         // if it needs to be refreshed
115
116 extern int cm_fakeGettingCallback;                                      // 1 if currently updating the fake root.afs directory,
117                                                                                                         // 0 otherwise
118
119 extern int cm_fakeDirVersion;                                           // the version number of the root.afs directory. used 
120                                                                                                         // invalidate all the buffers containing root.afs data
121                                                                                                         // after reinitialization
122 // ------------------------------------------
123 #endif /* AFS_FREELANCE_CLIENT */
124
125 extern int cm_dnsEnabled;
126 extern int cm_freelanceEnabled;
127
128 #endif /* AFSD_H_ENV */