⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deb_res.cpp

📁 RTL8139 网卡驱动源码 for WinCE.net CEPC
💻 CPP
📖 第 1 页 / 共 3 页
字号:
//****************************************************************************
//                             File DEB_RES.CPP
//
//                         Resource debugging support
//
//                      Copyright (c) APSoft, 1998-2002.
//                          All rights reserved.
//
//****************************************************************************


extern "C"
{
#include <ntddk.h>                          // Main DDK's include
#include <stdio.h>                          // Standard C functions
#include <stdlib.h>
}

#include <debug.h>                          // Prototypes

#if DBG

//--------------------- Interface description strings ------------------------

typedef struct tagIFACE_DESCRIPTION
{
    INTERFACE_TYPE  IfaceType;              // Interface type
    LPSTR           szName;                 // Interface name
} IFACE_DESCRIPTION;

char szInterfaceTypeUndefined [] = "InterfaceTypeUndefined";
char szInternal               [] = "Internal";
char szIsa                    [] = "Isa";
char szEisa                   [] = "Eisa";
char szMicroChannel           [] = "MicroChannel";
char szTurboChannel           [] = "TurboChannel";
char szPCIBus                 [] = "PCIBus";
char szVMEBus                 [] = "VMEBus";
char szNuBus                  [] = "NuBus";
char szPCMCIABus              [] = "PCMCIABus";
char szCBus                   [] = "CBus";
char szMPIBus                 [] = "MPIBus";
char szMPSABus                [] = "MPSABus";
char szProcessorInternal      [] = "ProcessorInternal";
char szInternalPowerBus       [] = "InternalPowerBus";
char szPNPISABus              [] = "PNPISABus";
char szPNPBus                 [] = "PNPBus";

char szUnknownInterface       [] = "Unknown Interface code";

IFACE_DESCRIPTION Interfaces[] =
{
    { InterfaceTypeUndefined,       szInterfaceTypeUndefined    },
    { Internal,                     szInternal                  },
    { Isa,                          szIsa                       },
    { Eisa,                         szEisa                      },
    { MicroChannel,                 szMicroChannel              },
    { TurboChannel,                 szTurboChannel              },
    { PCIBus,                       szPCIBus                    },
    { VMEBus,                       szVMEBus                    },
    { NuBus,                        szNuBus                     },
    { PCMCIABus,                    szPCMCIABus                 },
    { CBus,                         szCBus                      },
    { MPIBus,                       szMPIBus                    },
    { MPSABus,                      szMPSABus                   },
    { ProcessorInternal,            szProcessorInternal         },
    { InternalPowerBus,             szInternalPowerBus          },
    { PNPISABus,                    szPNPISABus                 },
    { PNPBus,                       szPNPBus                    },
    { MaximumInterfaceType,         NULL                        }
};

#define NUM_INTERFACES          (sizeof(Interfaces) /sizeof(Interfaces[0]))

//---------------------------- Resource option -------------------------------

char szIO_RESOURCE_FIXED      [] = "Fixed (Caller cannot use an alternative)";
char szIO_RESOURCE_PREFERRED  [] = "Prefered resource";
char szIO_RESOURCE_DEFAULT    [] = "Default resource";
char szIO_RESOURCE_ALTERNATIVE[] = "Alternative resource";
char szIO_RESOURCE_UNKNOWN    [] = "Unknown resource option";

typedef struct tagOPTION_DESCRIPTION
{
    UCHAR          uType;                   // Option code
    LPSTR          szName;                  // Option name
} OPTION_DESCRIPTION;

OPTION_DESCRIPTION Options[] =
{
    { 0,                            szIO_RESOURCE_FIXED         },
    { IO_RESOURCE_PREFERRED,        szIO_RESOURCE_PREFERRED     },
    { IO_RESOURCE_DEFAULT,          szIO_RESOURCE_DEFAULT       },
    { IO_RESOURCE_ALTERNATIVE,      szIO_RESOURCE_ALTERNATIVE   },
    { 0xFF,                         NULL                        }
};

#define NUM_OPTIONS             (sizeof(Options) /sizeof(Options[0]))

//----------------------------- Resource Type --------------------------------

char szCmResourceTypeNull             [] = "Null";
char szCmResourceTypePort             [] = "I/O Port";
char szCmResourceTypeInterrupt        [] = "Interrupt";
char szCmResourceTypeMemory           [] = "Memory";
char szCmResourceTypeDma              [] = "DMA Channel";
char szCmResourceTypeDeviceSpecific   [] = "Device Specific";
char szCmResourceTypeBusNumber        [] = "Bus Number";
char szCmResourceTypeAssignedResource [] = "Assigned resource";
char szCmResourceTypeSubAllocateFrom  [] = "SubAllocated From";
char szCmResourceTypeConfigData       [] = "Config Data";
char szCmResourceTypeDevicePrivate    [] = "Device Private";
char szCmResourceTypePcCardConfig     [] = "PcCard Config";
char szCmResourceTypeMfCardConfig     [] = "MfCard Config";

char szCmResourceTypeUnknown          [] = "Unknown Type value";

typedef struct tagTYPE_DESCRIPTION
{
    UCHAR               uType;              // Type code
    LPSTR               szName;             // Type name
} TYPE_DESCRIPTION;

TYPE_DESCRIPTION Types[] =
{
    { CmResourceTypeNull,               szCmResourceTypeNull             },
    { CmResourceTypePort,               szCmResourceTypePort             },
    { CmResourceTypeInterrupt,          szCmResourceTypeInterrupt        },
    { CmResourceTypeMemory,             szCmResourceTypeMemory           },
    { CmResourceTypeDma,                szCmResourceTypeDma              },
    { CmResourceTypeDeviceSpecific,     szCmResourceTypeDeviceSpecific   },
    { CmResourceTypeBusNumber,          szCmResourceTypeBusNumber        },
    { CmResourceTypeAssignedResource,   szCmResourceTypeAssignedResource },
    { CmResourceTypeSubAllocateFrom,    szCmResourceTypeSubAllocateFrom  },
    { CmResourceTypeConfigData,         szCmResourceTypeConfigData       },
    { CmResourceTypeDevicePrivate,      szCmResourceTypeDevicePrivate    },
    { CmResourceTypePcCardConfig,       szCmResourceTypePcCardConfig     },
    { CmResourceTypeMfCardConfig,       szCmResourceTypeMfCardConfig     },
    { 0,                                NULL                             }
};

#define NUM_TYPES               (sizeof(Types) /sizeof(Types[0]))

//--------------------------------- Share ------------------------------------

char szCmResourceShareUndetermined    [] = "Undetermined";
char szCmResourceShareDeviceExclusive [] = "Device exclusive";
char szCmResourceShareDriverExclusive [] = "Driver exclusive";
char szCmResourceShareShared          [] = "Shared";
char szCmResourceShareUnknown         [] = "Unknown ShareDisposition value";

typedef struct tagSHARE_DESCRIPTION
{
    CM_SHARE_DISPOSITION Type;              // Share code
    LPSTR                szName;            // Share name
} SHARE_DESCRIPTION;

SHARE_DESCRIPTION Shares[] =
{
    { CmResourceShareUndetermined,          szCmResourceShareUndetermined       },
    { CmResourceShareDeviceExclusive,       szCmResourceShareDeviceExclusive    },
    { CmResourceShareDriverExclusive,       szCmResourceShareDriverExclusive    },
    { CmResourceShareShared,                szCmResourceShareShared             },
    { (CM_SHARE_DISPOSITION)0,              NULL                                }
};

#define NUM_SHARES              (sizeof(Shares) /sizeof(Shares[0]))

//--------------------------------- Flags ------------------------------------

char szCM_RESOURCE_PORT_MEMORY                [] = "Mapped in memory address space";
char szCM_RESOURCE_PORT_IO                    [] = "Mapped in I/O address space";
char szCM_RESOURCE_PORT_FORWARD_FIRST_256_OF_EACH_1024 [] = "Forward First 256 of Each 1024 (Obsolete)";
char szCM_RESOURCE_PORT_10_BIT_DECODE         [] = "10-bit Decode";
char szCM_RESOURCE_PORT_12_BIT_DECODE         [] = "12-bit Decode";
char szCM_RESOURCE_PORT_16_BIT_DECODE         [] = "16-bit Decode";
char szCM_RESOURCE_PORT_POSITIVE_DECODE       [] = "Positive Decode";
char szCM_RESOURCE_PORT_PASSIVE_DECODE        [] = "Passive Decode";

char szCM_RESOURCE_MEMORY_READ_WRITE          [] = "Read/Write";
char szCM_RESOURCE_MEMORY_READ_ONLY           [] = "Read only";
char szCM_RESOURCE_MEMORY_WRITE_ONLY          [] = "Write only";
char szCM_RESOURCE_MEMORY_PREFETCHABLE        [] = "Prefetchable";
char szCM_RESOURCE_MEMORY_COMBINEDWRITE       [] = "Combined Write";
char szCM_RESOURCE_MEMORY_24                  [] = "Memory 24";
char szCM_RESOURCE_MEMORY_CACHEABLE           [] = "Cacheable";

char szCM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE  [] = "Level sensitive (PCI-type)";
char szCM_RESOURCE_INTERRUPT_LATCHED          [] = "Latched (ISA-type)";

char szCM_RESOURCE_DMA_8                      [] = "DMA 8";
char szCM_RESOURCE_DMA_16                     [] = "DMA 16";
char szCM_RESOURCE_DMA_32                     [] = "DMA 32";
char szCM_RESOURCE_DMA_8_AND_16               [] = "DMA 8 & 16";
char szCM_RESOURCE_DMA_BUS_MASTER             [] = "DMA Bus Master";
char szCM_RESOURCE_DMA_TYPE_A                 [] = "Type A";
char szCM_RESOURCE_DMA_TYPE_B                 [] = "Type B";
char szCM_RESOURCE_DMA_TYPE_F                 [] = "Type F";

char szCM_RESOURCE_FLAGS_UNKNOWN              [] = "Unknown flags value";

typedef struct tagFLAG_DESCRIPTION
{
    CM_RESOURCE_TYPE    Type;               // Type of resource
    UCHAR               uFlags;             // Value of flags
    LPSTR               szName;             // Flag description
} FLAG_DESCRIPTION;

FLAG_DESCRIPTION Flags[] =
{
    { CmResourceTypePort,      CM_RESOURCE_PORT_MEMORY,               szCM_RESOURCE_PORT_MEMORY              },
    { CmResourceTypePort,      CM_RESOURCE_PORT_IO,                   szCM_RESOURCE_PORT_IO                  },
    { CmResourceTypePort,      CM_RESOURCE_PORT_10_BIT_DECODE,        szCM_RESOURCE_PORT_10_BIT_DECODE       },
    { CmResourceTypePort,      CM_RESOURCE_PORT_12_BIT_DECODE,        szCM_RESOURCE_PORT_12_BIT_DECODE       },
    { CmResourceTypePort,      CM_RESOURCE_PORT_16_BIT_DECODE,        szCM_RESOURCE_PORT_16_BIT_DECODE       },
    { CmResourceTypePort,      CM_RESOURCE_PORT_POSITIVE_DECODE,      szCM_RESOURCE_PORT_POSITIVE_DECODE     },
    { CmResourceTypePort,      CM_RESOURCE_PORT_PASSIVE_DECODE,       szCM_RESOURCE_PORT_PASSIVE_DECODE      },
    { CmResourceTypePort,      CM_RESOURCE_PORT_FORWARD_FIRST_256_OF_EACH_1024,
                                                                      szCM_RESOURCE_PORT_FORWARD_FIRST_256_OF_EACH_1024      },
    { CmResourceTypeMemory,    CM_RESOURCE_MEMORY_READ_WRITE,         szCM_RESOURCE_MEMORY_READ_WRITE        },
    { CmResourceTypeMemory,    CM_RESOURCE_MEMORY_READ_ONLY,          szCM_RESOURCE_MEMORY_READ_ONLY         },
    { CmResourceTypeMemory,    CM_RESOURCE_MEMORY_WRITE_ONLY,         szCM_RESOURCE_MEMORY_WRITE_ONLY        },
    { CmResourceTypeMemory,    CM_RESOURCE_MEMORY_PREFETCHABLE,       szCM_RESOURCE_MEMORY_PREFETCHABLE      },
    { CmResourceTypeMemory,    CM_RESOURCE_MEMORY_COMBINEDWRITE,      szCM_RESOURCE_MEMORY_COMBINEDWRITE     },
    { CmResourceTypeMemory,    CM_RESOURCE_MEMORY_24,                 szCM_RESOURCE_MEMORY_24                },
    { CmResourceTypeMemory,    CM_RESOURCE_MEMORY_CACHEABLE,          szCM_RESOURCE_MEMORY_CACHEABLE         },
    { CmResourceTypeInterrupt, CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE, szCM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE},
    { CmResourceTypeInterrupt, CM_RESOURCE_INTERRUPT_LATCHED,         szCM_RESOURCE_INTERRUPT_LATCHED        },
    { CmResourceTypeDma,       CM_RESOURCE_DMA_8,                     szCM_RESOURCE_DMA_8                    },
    { CmResourceTypeDma,       CM_RESOURCE_DMA_16,                    szCM_RESOURCE_DMA_16                   },
    { CmResourceTypeDma,       CM_RESOURCE_DMA_32,                    szCM_RESOURCE_DMA_32                   },
    { CmResourceTypeDma,       CM_RESOURCE_DMA_BUS_MASTER,            szCM_RESOURCE_DMA_BUS_MASTER           },
    { CmResourceTypeDma,       CM_RESOURCE_DMA_TYPE_A,                szCM_RESOURCE_DMA_TYPE_A               },
    { CmResourceTypeDma,       CM_RESOURCE_DMA_TYPE_B,                szCM_RESOURCE_DMA_TYPE_B               },
    { CmResourceTypeDma,       CM_RESOURCE_DMA_TYPE_F,                szCM_RESOURCE_DMA_TYPE_F               },
    { CmResourceTypeNull,      0,                                     NULL                                   }
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -