2 * Copyright 2000, International Business Machines Corporation and others.
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
10 #ifndef __AFSD_H_ENV__
11 #define __AFSD_H_ENV__ 1
13 #include <afs/param.h>
16 BOOL InitClass(HANDLE);
17 BOOL InitInstance(HANDLE, int);
19 LONG APIENTRY MainWndProc(HWND, unsigned int, unsigned int, long);
20 BOOL APIENTRY About(HWND, unsigned int, unsigned int, long);
26 #include <sys/farptr.h>
28 #include "dosdefs95.h"
29 #include "largeint95.h"
38 /*#include <crypt.h>*/
39 #include <afs/prs_fs.h>
42 #include "cm_config.h"
44 #include "cm_callback.h"
46 #include "cm_diskcache95.h"
47 #endif /* DISKCACHE95 */
49 #include "cm_aclent.h"
51 #include "cm_server.h"
52 #include "cm_scache.h"
53 #include "cm_volume.h"
54 #include "cm_dcache.h"
55 #include "cm_access.h"
57 #include "cm_vnodeops.h"
59 #include "cm_daemon.h"
63 #include "cm_memmap.h"
64 #include "cm_freelance.h"
65 #include "smb_ioctl.h"
66 #include "afsd_init.h"
68 #include "afs/afsmsg95.h"
71 #include <afs/vldbint.h>
72 #include <afs/afsint.h>
74 #define AFS_DAEMON_SERVICE_NAME "TransarcAFSDaemon"
75 #define AFS_DAEMON_EVENT_NAME "AFS Client"
79 extern void afsi_log(char *pattern, ...);
81 /* globals from the base afsd */
83 extern int cm_logChunkSize;
84 extern int cm_chunkSize;
86 extern cm_volume_t *cm_rootVolumep;
88 extern cm_cell_t *cm_rootCellp;
90 extern cm_fid_t cm_rootFid;
92 extern cm_scache_t *cm_rootSCachep;
94 extern osi_log_t *afsd_logp;
96 extern char cm_mountRoot[];
97 extern DWORD cm_mountRootLen;
99 extern char cm_CachePath[];
101 extern BOOL isGateway;
103 extern BOOL reportSessionStartups;
105 #ifdef AFS_FREELANCE_CLIENT
106 extern char *cm_FakeRootDir; // the fake root.afs directory
108 extern int cm_noLocalMountPoints; // no. of fake mountpoints
110 extern cm_localMountPoint_t* cm_localMountPoints; // array of fake mountpoints
112 extern int cm_fakeDirSize; // size (in bytes) of fake root.afs directory
114 extern int cm_fakeDirCallback; // state of the fake root.afs directory. indicates
115 // if it needs to be refreshed
117 extern int cm_fakeGettingCallback; // 1 if currently updating the fake root.afs directory,
120 extern int cm_fakeDirVersion; // the version number of the root.afs directory. used
121 #endif /* AFS_FREELANCE_CLIENT */
123 extern int cm_dnsEnabled;
124 extern int cm_freelanceEnabled;
128 extern HANDLE WaitToTerminate;
134 #define WORKER_THREADS 10
136 #define AFSD_HOOK_DLL "afsdhook.dll"
137 #define AFSD_INIT_HOOK "AfsdInitHook"
138 typedef BOOL ( APIENTRY * AfsdInitHook )(void);
139 #define AFSD_RX_STARTED_HOOK "AfsdRxStartedHook"
140 typedef BOOL ( APIENTRY * AfsdRxStartedHook )(void);
141 #define AFSD_SMB_STARTED_HOOK "AfsdSmbStartedHook"
142 typedef BOOL ( APIENTRY * AfsdSmbStartedHook )(void);
143 #define AFSD_STARTED_HOOK "AfsdStartedHook"
144 typedef BOOL ( APIENTRY * AfsdStartedHook )(void);
145 #define AFSD_DAEMON_HOOK "AfsdDaemonHook"
146 typedef BOOL ( APIENTRY * AfsdDaemonHook )(void);
147 #define AFSD_STOPPING_HOOK "AfsdStoppingHook"
148 typedef BOOL ( APIENTRY * AfsdStoppingHook )(void);
149 #define AFSD_STOPPED_HOOK "AfsdStoppedHook"
150 typedef BOOL ( APIENTRY * AfsdStoppedHook )(void);
152 #define SERVICE_CONTROL_CUSTOM_DUMP 128
153 #endif /* AFSD_H_ENV */