Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//
// 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
|