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.
 
 
 
 
 
 

89 lines
3.4 KiB

#
# Default types for WPP
#
# our basic arithmetic types
DEFINE_SIMPLE_TYPE( SBYTE, signed char, ItemChar, "d");
DEFINE_SIMPLE_TYPE( SSHORT, signed short, ItemShort, "hd");
DEFINE_SIMPLE_TYPE( SINT, signed int, ItemInt, "d");
DEFINE_SIMPLE_TYPE( SLONG, signed long, ItemLong, "ld");
DEFINE_SIMPLE_TYPE( SINT64, signed _int64, ItemLongLong, "I64d");
DEFINE_FLAVOR( UCHAR, SBYTE, ItemUChar, "c" );
DEFINE_FLAVOR( SCHAR, SBYTE, ItemChar, "c" );
DEFINE_FLAVOR( BOOLEAN, SBYTE, ItemListByte(FALSE,TRUE), "s");
# arch dependent types
DEFINE_SIMPLE_TYPE( SLONGPTR, void*, ItemPtr, "p");
DEFINE_SIMPLE_TYPE( PTR, void*, ItemPtr, "p");
DEFINE_SIMPLE_TYPE( HANDLE, void*, ItemPtr, "p");
# all strings require custom processing
DEFINE_CPLX_TYPE(ASTR, WPP_LOGASTR, ItemString, "s");
DEFINE_CPLX_TYPE(ARSTR, WPP_LOGASTR, ItemRString, "s");
DEFINE_CPLX_TYPE(WSTR, WPP_LOGWSTR, ItemWString, "s");
DEFINE_CPLX_TYPE(CSTR, WPP_LOGCSTR, ItemPString, "s");
DEFINE_CPLX_TYPE(USTR, WPP_LOGUSTR, ItemPWString, "s");
# default formats for those who don't care to provide their own strings
DEFINE_FLAVOR(UBYTE, SBYTE,, "u");
DEFINE_FLAVOR(XBYTE, SBYTE,, "02x");
DEFINE_FLAVOR(OBYTE, SBYTE,, "o");
DEFINE_FLAVOR(USHORT, SSHORT, ItemUShort, "hu");
DEFINE_FLAVOR(XSHORT, SSHORT,, "04hX");
DEFINE_FLAVOR(OSHORT, SSHORT,, "ho");
DEFINE_FLAVOR(UINT, SINT, ItemUInt, "u");
DEFINE_FLAVOR(XINT, SINT,, "08x");
DEFINE_FLAVOR(OINT, SINT,, "o");
DEFINE_FLAVOR(ULONG, SLONG, ItemULong, "lu");
DEFINE_FLAVOR(XLONG, SLONG,, "08lX");
DEFINE_FLAVOR(OLONG, SLONG,, "lo");
DEFINE_FLAVOR(UINT64, SINT64,, "i64u");
DEFINE_FLAVOR(XINT64, SINT64,, "08i64X");
DEFINE_FLAVOR(OINT64, SINT64,, "i64o");
DEFINE_FLAVOR(ULONGPTR, SLONGPTR,,);
DEFINE_FLAVOR(XLONGPTR, SLONGPTR,,);
DEFINE_FLAVOR(OLONGPTR, SLONGPTR,,);
# special formats
DEFINE_FLAVOR(IPADDR, UINT, ItemIPAddr, "s");
DEFINE_FLAVOR(PORT, USHORT, ItemPort, "s");
DEFINE_FLAVOR(STATUS, UINT, ItemNTSTATUS, "s");
DEFINE_FLAVOR(WINERROR, UINT, ItemWINERROR, "s");
DEFINE_FLAVOR(PORT, USHORT, ItemPort, "s");
DEFINE_SIMPLE_TYPE(GUID, GUID, ItemGuid, "s");
# time related stuff
DEFINE_FLAVOR(TIMESTAMP, SINT64, ItemTimestamp, "s");
DEFINE_FLAVOR(TIME, SINT64, ItemTimestamp, "s");
DEFINE_FLAVOR(DATE, SINT64, ItemTimestamp, "s");
DEFINE_FLAVOR(WAITTIME, SINT64, ItemTimestamp, "s");
DEFINE_FLAVOR(TIMEDELTA, SINT64, ItemTimestamp, "s");
# enumeration types
DEFINE_FLAVOR(ItemListByte, SBYTE, ItemListByte, "s");
DEFINE_FLAVOR(ItemListShort, SSHORT, ItemListShort,"s");
DEFINE_FLAVOR(ItemListLong, SLONG, ItemListLong, "s");
CUSTOM_TYPE(IRQL, ItemListByte(Low,APC,DPC) );
CUSTOM_TYPE(PNPMN, ItemListByte(IRP_MN_START_DEVICE,IRP_MN_QUERY_REMOVE_DEVICE,IRP_MN_REMOVE_DEVICE,IRP_MN_CANCEL_REMOVE_DEVICE,IRP_MN_STOP_DEVICE,IRP_MN_QUERY_STOP_DEVICE,IRP_MN_CANCEL_STOP_DEVICE,IRP_MN_QUERY_DEVICE_RELATIONS,IRP_MN_QUERY_INTERFACE,IRP_MN_QUERY_CAPABILITIES,IRP_MN_QUERY_RESOURCES,IRP_MN_QUERY_RESOURCE_REQUIREMENTS,IRP_MN_QUERY_DEVICE_TEXT,IRP_MN_FILTER_RESOURCE_REQUIREMENTS,IRP_MN_PNP_14,IRP_MN_READ_CONFIG,IRP_MN_WRITE_CONFIG,IRP_MN_EJECT,IRP_MN_SET_LOCK,IRP_MN_QUERY_ID,IRP_MN_QUERY_PNP_DEVICE_STATE,IRP_MN_QUERY_BUS_INFORMATION,IRP_MN_DEVICE_USAGE_NOTIFICATION,IRP_MN_SURPRISE_REMOVAL) );
# default tracing macro
SimpleTrace(MSG,ARG);
SimpleTraceEx(GRP,MSG,ARG);
USEPREFIX(*, "[%9!x!].%3!03x!::%4 [%1] ");