// // this header contains a bunch of junk we need to build // parse.c // #ifndef _EXTCRAP_H_ #define _EXTCRAP_H_ /* thrdpool.h */ // // Pointer to a thread pool worker function. // typedef VOID (*PUL_WORK_ROUTINE)( IN struct _UL_WORK_ITEM * pWorkItem ); // // A work item. A work item may only appear on the work queue once. // typedef struct _UL_WORK_ITEM // WorkItem { LIST_ENTRY QueueListEntry; PUL_WORK_ROUTINE pWorkRoutine; } UL_WORK_ITEM, *PUL_WORK_ITEM; /* engine.h */ typedef enum _UL_CONN_HDR { ConnHdrNone, ConnHdrClose, ConnHdrKeepAlive, ConnHdrMax } UL_CONN_HDR; /* config .h */ // // Define the additional formal and actual parameters used for the // various Reference/Dereference functions when reference debugging // is enabled. // #if REFERENCE_DEBUG #define REFERENCE_DEBUG_FORMAL_PARAMS ,PSTR pFileName,USHORT LineNumber #define REFERENCE_DEBUG_ACTUAL_PARAMS ,(PSTR)__FILE__,(USHORT)__LINE__ #else // !REFERENCE_DEBUG #define REFERENCE_DEBUG_FORMAL_PARAMS #define REFERENCE_DEBUG_ACTUAL_PARAMS #endif // REFERENCE_DEBUG // // Pool tags. // #if USE_FREE_POOL_WITH_TAG #define MAKE_TAG(tag) ( (ULONG)(tag) | PROTECTED_POOL ) #define MyFreePoolWithTag(a,t) ExFreePoolWithTag(a,t) #else // !USE_FREE_POOL_WITH_TAG #define MAKE_TAG(tag) ( (ULONG)(tag) ) #define MyFreePoolWithTag(a,t) ExFreePool(a) #endif // USE_FREE_POOL_WITH_TAG #define MAKE_FREE_TAG(Tag) (((Tag) & 0xffffff00) | (ULONG)'x') #define IS_VALID_TAG(Tag) (((Tag) & 0x0000ffff) == 'lU' ) // actual tags #define UL_INTERNAL_REQUEST_POOL_TAG MAKE_TAG( 'RHlU' ) #define UL_KNOWN_HEADER_POOL_TAG MAKE_TAG( 'VHlU' ) #define UL_UNKNOWN_HEADER_POOL_TAG MAKE_TAG( 'HUlU' ) #define URL_POOL_TAG MAKE_TAG( 'LUlU' ) /* made 'em up just for this file */ // // pointers to things we don't care about // typedef struct _UL_NONPAGED_RESOURCE * PUL_NONPAGED_RESOURCE; typedef struct _UL_URL_CONFIG_GROUP_INFO * PUL_URL_CONFIG_GROUP_INFO; typedef struct _UL_CONNECTION * PUL_CONNECTION; typedef struct _IRP * PIRP; typedef struct _UL_CONNECTION * PUL_CONNECTION; /* proc.h */ NTSTATUS UlAnsiToULongLong( PUCHAR pString, ULONG Base, PULONGLONG pValue ); /* ultdi.h */ VOID UlLocalAddressFromConnection( IN PUL_CONNECTION pConnection, OUT PTA_IP_ADDRESS pAddress ); // // externs // extern ULONG g_UlDebug; #endif // _EXTCRAP_H