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.
|
|
/*++
Copyright (c) 1998-2001 Microsoft Corporation
Module Name:
cons.h
Abstract:
Global constant definitions for the UL.SYS Kernel Debugger Extensions.
Author:
Keith Moore (keithmo) 17-Jun-1998.
Environment:
User Mode.
--*/
#ifndef _CONS_H_
#define _CONS_H_
#ifdef __cplusplus
extern "C" { #endif
#define DIM(x) (sizeof(x) / sizeof(x[0]))
#define MAX_TRANSPORT_ADDRESS_LENGTH 128
#define MAX_SYMBOL_LENGTH 256
#define MAX_RESOURCE_STATE_LENGTH 80
#define MAX_SIGNATURE_LENGTH 20
#define Address00 Address[0].Address[0]
#define UC(x) ((UINT)((x) & 0xFF))
#define NTOHS(x) ( (UC(x) * 256) + UC((x) >> 8) )
#define IS_LIST_EMPTY( localaddr, remoteaddr, type, fieldname ) \
( ((type *)(localaddr))->fieldname.Flink == \ (PLIST_ENTRY)( (remoteaddr) + \ FIELD_OFFSET( type, fieldname ) ) )
#define REMOTE_OFFSET( remoteaddr, type, fieldname ) \
( (PUCHAR)(remoteaddr) + FIELD_OFFSET( type, fieldname ) )
#define READ_REMOTE_STRING( localaddr, locallen, remoteaddr, remotelen ) \
if( TRUE ) \ { \ ULONG _len; \ ULONG _res; \ RtlZeroMemory( (localaddr), (locallen) ); \ _len = min( (locallen), (remotelen) ); \ if (_len > 0) \ { \ ReadMemory( \ (ULONG_PTR)(remoteaddr), \ (PVOID)(localaddr), \ _len, \ &_res \ ); \ } \ } else
#ifdef _WIN64
// Hack: the Next and Depth fields are no longer accessible
// This definition allows us to compile and link.
# define SLIST_HEADER_NEXT(psh) ((PSINGLE_LIST_ENTRY) NULL)
# define SLIST_HEADER_DEPTH(psh) ((USHORT) -1)
#else // !_WIN64
# define SLIST_HEADER_NEXT(psh) ((psh)->Next.Next)
# define SLIST_HEADER_DEPTH(psh) ((psh)->Depth)
#endif // !_WIN64
#define SNAPSHOT_EXTENSION_DATA() \
do \ { \ g_hCurrentProcess = hCurrentProcess; \ g_hCurrentThread = hCurrentThread; \ g_dwCurrentPc = dwCurrentPc; \ g_dwProcessor = g_dwProcessor; \ } while (FALSE)
#ifdef __cplusplus
}; // extern "C"
#endif
#endif // _CONS_H_
|