windows-nt/Source/XPSP1/NT/inetsrv/iis/iisrearc/ulrtl/extcrap.h

118 lines
2.4 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//
// 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