#if defined(SRVKD) #include #include #include #include #include #include #include #include #include #include #include #else #include #include #endif // if you include persistent handle code, it's required that you also // add in the "IfModified" open code. #ifdef INCLUDE_SMB_PERSISTENT #define INCLUDE_SMB_IFMODIFIED #endif // header file for WMI event tracing // #define _NTDDK_ #include "wmistr.h" #include "evntrace.h" #if !defined (SRVKD) #include "stdarg.h" #include "wmikm.h" #endif //#if !defined (SRVKD) #undef _NTDDK_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifndef SECURITY_KERNEL #define SECURITY_KERNEL #endif // SECURITY_KERNEL #ifndef SECURITY_NTLM #define SECURITY_NTLM #endif // SECURITY_NTLM #ifndef SECURITY_KERBEROS #define SECURITY_KERBEROS #endif // SECURITY_KERBEROS #include #include // #define INCLUDE_SMB_CAIRO #define INCLUDE_SMB_ALL #include #include #include #include #include #include // // Network include files. // #include #define INCLUDE_SRV_IPX_SMART_CARD_INTERFACE 1 #include // // Local, independent include files // // // Determine if we are building for a multiprocessor target // #if !defined( NT_UP ) || NT_UP == 0 #define MULTIPROCESSOR 1 #else #define MULTIPROCESSOR 0 #endif #define DBG_STUCK 1 #include "srvdebug.h" #if SRVDBG #define PAGED_DBG 1 #endif #ifdef PAGED_DBG #undef PAGED_CODE #define PAGED_CODE() \ struct { ULONG bogus; } ThisCodeCantBePaged; \ ThisCodeCantBePaged; \ if (KeGetCurrentIrql() > APC_LEVEL) { \ DbgPrint( "EX: Pageable code called at IRQL %d\n", KeGetCurrentIrql() ); \ ASSERT(FALSE); \ DbgBreakPoint(); \ } #define PAGED_CODE_CHECK() if (ThisCodeCantBePaged) ; extern ULONG ThisCodeCantBePaged; #else #undef PAGED_CODE #define PAGED_CODE() #define PAGED_CODE_CHECK() #endif #include "srvconst.h" #include "lock.h" #include #include "srvstrng.h" #include #include // // The following include files are dependent on each other; be careful // when changing the order in which they appear. // #include "srvtypes.h" #include "srvblock.h" #if !defined( SRVKD ) #include "srvfsp.h" #include "srvio.h" #include "srvfsd.h" #include "smbprocs.h" #include "smbctrl.h" #include "srvsvc.h" #include "srvdata.h" #include "srvnet.h" #include "srvstamp.h" #include "srvsupp.h" #include "srvmacro.h" #include "srvconfg.h" #include "errorlog.h" #include "rawmpx.h" #include "ipx.h" #include "srvsnap.h" #ifdef INCLUDE_SMB_PERSISTENT #include "persist.h" #endif #if DBG #undef ASSERT #define ASSERT( x ) \ if( !(x) ) { \ DbgPrint( "SRV: Assertion Failed at line %u in %s\n", __LINE__, __FILE__ ); \ DbgBreakPoint(); \ } #endif #if SLMDBG #undef ALLOC_PRAGMA #endif #endif