windows-nt/Source/XPSP1/NT/drivers/wdm/input/tabletpc/smblite/debug.c
2020-09-26 16:20:57 +08:00

185 lines
6.2 KiB
C

/*++
Copyright (c) 2000 Microsoft Corporation
Module Name:
debug.c
Abstract: This module contains all the debug functions.
Environment:
Kernel mode
Author:
Michael Tsang (MikeTs) 20-Nov-2000
Revision History:
--*/
#include "pch.h"
#ifdef DEBUG
NAMETABLE MajorFnNames[] =
{
IRP_MJ_CREATE, "Create",
IRP_MJ_CREATE_NAMED_PIPE, "CreateNamedPipe",
IRP_MJ_CLOSE, "Close",
IRP_MJ_READ, "Read",
IRP_MJ_WRITE, "Write",
IRP_MJ_QUERY_INFORMATION, "QueryInfo",
IRP_MJ_SET_INFORMATION, "SetInfo",
IRP_MJ_QUERY_EA, "QueryEA",
IRP_MJ_SET_EA, "SetEA",
IRP_MJ_FLUSH_BUFFERS, "FlushBuffers",
IRP_MJ_QUERY_VOLUME_INFORMATION, "QueryVolInfo",
IRP_MJ_SET_VOLUME_INFORMATION, "SetVolInfo",
IRP_MJ_DIRECTORY_CONTROL, "DirectoryControl",
IRP_MJ_FILE_SYSTEM_CONTROL, "FileSystemControl",
IRP_MJ_DEVICE_CONTROL, "DeviceControl",
IRP_MJ_INTERNAL_DEVICE_CONTROL, "InternalDevControl",
IRP_MJ_SHUTDOWN, "Shutdown",
IRP_MJ_LOCK_CONTROL, "LockControl",
IRP_MJ_CLEANUP, "CleanUp",
IRP_MJ_CREATE_MAILSLOT, "CreateMailSlot",
IRP_MJ_QUERY_SECURITY, "QuerySecurity",
IRP_MJ_SET_SECURITY, "SetSecurity",
IRP_MJ_POWER, "Power",
IRP_MJ_SYSTEM_CONTROL, "SystemControl",
IRP_MJ_DEVICE_CHANGE, "DeviceChange",
IRP_MJ_QUERY_QUOTA, "QueryQuota",
IRP_MJ_SET_QUOTA, "SetQuota",
IRP_MJ_PNP, "PnP",
0x00, NULL
};
NAMETABLE PnPMinorFnNames[] =
{
IRP_MN_START_DEVICE, "StartDevice",
IRP_MN_QUERY_REMOVE_DEVICE, "QueryRemoveDevice",
IRP_MN_REMOVE_DEVICE, "RemoveDevice",
IRP_MN_CANCEL_REMOVE_DEVICE, "CancelRemoveDevice",
IRP_MN_STOP_DEVICE, "StopDevice",
IRP_MN_QUERY_STOP_DEVICE, "QueryStopDevice",
IRP_MN_CANCEL_STOP_DEVICE, "CancelStopDevice",
IRP_MN_QUERY_DEVICE_RELATIONS, "QueryDeviceRelations",
IRP_MN_QUERY_INTERFACE, "QueryInterface",
IRP_MN_QUERY_CAPABILITIES, "QueryCapabilities",
IRP_MN_QUERY_RESOURCES, "QueryResources",
IRP_MN_QUERY_RESOURCE_REQUIREMENTS, "QueryResRequirements",
IRP_MN_QUERY_DEVICE_TEXT, "QueryDeviceText",
IRP_MN_FILTER_RESOURCE_REQUIREMENTS,"FilterResRequirements",
IRP_MN_READ_CONFIG, "ReadConfig",
IRP_MN_WRITE_CONFIG, "WriteConfig",
IRP_MN_EJECT, "Eject",
IRP_MN_SET_LOCK, "SetLock",
IRP_MN_QUERY_ID, "QueryID",
IRP_MN_QUERY_PNP_DEVICE_STATE, "QueryPNPDeviceState",
IRP_MN_QUERY_BUS_INFORMATION, "QueryBusInfo",
IRP_MN_DEVICE_USAGE_NOTIFICATION, "DeviceUsageNotify",
IRP_MN_SURPRISE_REMOVAL, "SurpriseRemoval",
0x18, "QueryLegacyBusInfo",
0x00, NULL
};
NAMETABLE PowerMinorFnNames[] =
{
IRP_MN_WAIT_WAKE, "WaitWake",
IRP_MN_POWER_SEQUENCE, "PowerSequence",
IRP_MN_SET_POWER, "SetPower",
IRP_MN_QUERY_POWER, "QueryPower",
0x00, NULL
};
NAMETABLE PowerStateNames[] =
{
PowerDeviceUnspecified, "Unspecified",
PowerDeviceD0, "D0",
PowerDeviceD1, "D1",
PowerDeviceD2, "D2",
PowerDeviceD3, "D3",
PowerDeviceMaximum, "Maximum",
0x00, NULL
};
NAMETABLE QueryIDTypeNames[] =
{
BusQueryDeviceID, "DeviceID",
BusQueryHardwareIDs, "HardwareIDs",
BusQueryCompatibleIDs, "CompatibleIDs",
BusQueryDeviceSerialNumber, "DeviceSerialNumber",
0x00, NULL
};
NAMETABLE IoctlNames[] =
{
IOCTL_SMBLITE_GETBRIGHTNESS, "GetBrightness",
IOCTL_SMBLITE_SETBRIGHTNESS, "SetBrightness",
#ifdef SYSACC
IOCTL_SYSACC_MEM_REQUEST, "MemRequest",
IOCTL_SYSACC_IO_REQUEST, "IORequest",
IOCTL_SYSACC_PCICFG_REQUEST, "PCICfgRequest",
IOCTL_SYSACC_SMBUS_REQUEST, "SMBusRequest",
#endif
0x00, NULL
};
NAMETABLE ProtocolNames[] =
{
SMB_WRITE_QUICK, "QuickWrite",
SMB_READ_QUICK, "QuickRead",
SMB_SEND_BYTE, "SendByte",
SMB_RECEIVE_BYTE, "ReceiveByte",
SMB_WRITE_BYTE, "WriteByte",
SMB_READ_BYTE, "ReadByte",
SMB_WRITE_WORD, "WriteWord",
SMB_READ_WORD, "ReadWord",
SMB_WRITE_BLOCK, "WriteBlock",
SMB_READ_BLOCK, "ReadBlock",
SMB_PROCESS_CALL, "ProcessAll",
0x00, NULL
};
int giVerboseLevel = 0;
/*++
@doc INTERNAL
@func PSZ | LookupName |
Look up name string of a code in the given name table.
@parm IN ULONG | Code | The given code to lookup.
@parm IN PNAMETABLE | NameTable | The name table to look into.
@rvalue SUCCESS - Returns pointer to the minor function name string.
@rvalue FAILURE - Returns "unknown".
--*/
PSZ INTERNAL
LookupName(
IN ULONG Code,
IN PNAMETABLE NameTable
)
{
PROCNAME("LookupName")
PSZ pszName = "unknown";
ENTER(5, ("(Code=%x,pNameTable=%p)\n", Code, NameTable));
ASSERT(NameTable != NULL);
while (NameTable->pszName != NULL)
{
if (Code == NameTable->Code)
{
pszName = NameTable->pszName;
break;
}
NameTable++;
}
EXIT(5, ("=%s\n", pszName));
return pszName;
} //LookupName
#endif //ifdef DEBUG