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

📄 settings.h

📁 WinCE 3.0 BSP, 包含Inter SA1110, Intel_815E, Advantech_PCM9574 等
💻 H
📖 第 1 页 / 共 2 页
字号:
/*

  Copyright(c) 1998,1999 SIC/Hitachi,Ltd.

	Module Name:

		settings.h

	Revision History:

		26th May   1999		Released

*/

#ifndef SETTINGS_H
#define SETTINGS_H

#include "dongle.h"
#ifdef UNDER_CE
#include <linklist.h>
#include "ndisdma.h"
#endif 

#ifdef LOGDEV
#include "logdev.h"
#endif 

#ifdef UNDER_CE

#define ZONE_INIT       DEBUGZONE(0)
#define ZONE_SIRMODE    DEBUGZONE(1)
#define ZONE_FIRMODE    DEBUGZONE(2)
#define ZONE_TX         DEBUGZONE(3)
#define ZONE_RX         DEBUGZONE(4)
#define ZONE_TX_TRACE   DEBUGZONE(5)
#define ZONE_PACKET     DEBUGZONE(6)
#define ZONE_ISR        DEBUGZONE(7)
#define ZONE_DMA        DEBUGZONE(8)
#define ZONE_STAT       DEBUGZONE(10)
#define ZONE_LOG        DEBUGZONE(11) 
#define ZONE_BUFFER     DEBUGZONE(12)
#define ZONE_MSG        DEBUGZONE(13)
#define ZONE_WARN       DEBUGZONE(14)
#define ZONE_ERROR      DEBUGZONE(15)

#define DBG_ERR         ZONE_ERROR
#define DBG_STAT        ZONE_STAT
#define DBG_MSG         ZONE_MSG
#define DBG_OUT         DBG_MSG
#define DBG_BUF         ZONE_BUFFER
#define DBG_PACKET      ZONE_PACKET
#define DBG_PKT         ZONE_PACKET
#define DBG_NDIS_PACKET ZONE_PACKET
#define DBG_DUMPLOG     0
#define DBG_LOG         0
#define DBG_ALL         0
#define DBG_SIR_MODE    ZONE_SIRMODE
#define DBG_FIR_MODE    ZONE_FIRMODE
#define DBG_TX          ZONE_TX
#define DBG_RX          ZONE_RX
#define DBG_DMA         ZONE_DMA
#define DBG_ISR         ZONE_ISR
#define DBG_TRACE_TX    ZONE_TX_TRACE

#ifdef LOGDEV

#define IRFIR_LOG_INIT()    LogInit()

__inline VOID
IRFIR_LOG_DATA(
    USHORT  wSubType,
    USHORT  wDataType,
    USHORT  wLength,
    PBYTE   pData
    )
{
    LogData(LOG_TYPE_IRDA,
            wSubType,
            wDataType,
            wLength,
            pData);
}

__inline VOID
LOG(TCHAR *lpszMsg, DWORD dwVal)
{
    if (ZONE_LOG)
    {
        TCHAR szBuf[1024];
        wsprintf(szBuf, TEXT("%s%d"), lpszMsg, dwVal);
        IRFIR_LOG_DATA(LOG_SUBTYPE_IRFIR_MSG, 
                       LOG_DTYPE_UNICODE,
                       0,
                       (PBYTE)szBuf);
    }
}

__inline VOID
LOGMSG(TCHAR *lpszMsg)
{
    LogData(LOG_TYPE_IRDA,
            LOG_SUBTYPE_IRFIR_MSG,
            LOG_DTYPE_UNICODE,
            0,
            (PBYTE)lpszMsg);
}

#define LOG_TXFRAME     LOG_SUBTYPE_IRFIR_TX
#define LOG_RXFRAME     LOG_SUBTYPE_IRFIR_RX

__inline VOID
IRFIR_LOG_NDIS_PACKET(
    IN UINT         FrameType,
    IN PNDIS_PACKET pNdisPacket
    )
{
    BYTE         pbContigBuf[6*1024];
    PNDIS_BUFFER pNdisBuffer;
    DWORD        cbNdisPacket;
    DWORD        cbContigBuf;

    NdisQueryPacket(pNdisPacket, NULL, NULL, &pNdisBuffer, &cbNdisPacket);

    if (cbNdisPacket > (6*1024))
    {
        IRFIR_LOG_DATA(
            (USHORT)FrameType,
            (USHORT)LOG_DTYPE_ASCII,
            0,
            "Ndis packet too large to log.");
        return;
    }

    cbContigBuf = 0;
    while (pNdisBuffer)
    {
        PVOID pData;
        DWORD cbData;

        NdisQueryBuffer(pNdisBuffer, &pData, &cbData);

        if ((cbContigBuf + cbData) > cbNdisPacket)
        {
            // Packet was corrupt - misreported its size.
            IRFIR_LOG_DATA(
                (USHORT)FrameType,
                (USHORT)LOG_DTYPE_ASCII,
                0,
                "Ndis packet misreported its size");
            return;
        }

        NdisMoveMemory((PVOID)(pbContigBuf + cbContigBuf), pData, cbData);
        cbContigBuf += cbData;

        NdisGetNextBuffer(pNdisBuffer, &pNdisBuffer);
    }

    IRFIR_LOG_DATA(
        (USHORT)FrameType,
        (USHORT)LOG_DTYPE_IR_DATA,
        (USHORT)cbContigBuf,
        pbContigBuf);

    return;
}

#else // LOGDEV

#define IRFIR_LOG_INIT()            (0)
#define IRFIR_LOG_DATA(s, t, l, d)  (0)
#define IRFIR_LOG_NDIS_PACKET(t, p) (0)
#define LOGMSG(d)                   (0)

#endif // !LOGDEV
#endif 

#if DBG  /* { */
#ifdef UNDER_CE

#ifndef LOGDEV
#define LOG(logmsg, val)
#endif 

// Debug on CE.
#define DBGPRINTBUF(bufptr, buflen)                 (0)

#define DbgBreakPoint()             DebugBreak()
#define DBGERR(dbgparams)           DEBUGMSG(ZONE_ERROR, dbgparams);    DEBUGMSG(ZONE_ERROR, (TEXT("\r\n")))
#define DBGWARN(dbgparams)          DEBUGMSG(ZONE_WARN, dbgparams);     DEBUGMSG(ZONE_WARN, (TEXT("\r\n")))
#define DBGINIT(dbgparams)          DEBUGMSG(ZONE_INIT, dbgparams);     DEBUGMSG(ZONE_INIT, (TEXT("\r\n")))
#define DBGOUT(dbgparams)           DEBUGMSG(ZONE_MSG, dbgparams);      DEBUGMSG(ZONE_MSG, (TEXT("\r\n")))
#define DBGSTAT(dbgparams)          DEBUGMSG(ZONE_STAT, dbgparams);     DEBUGMSG(ZONE_STAT, (TEXT("\r\n")))
#define DBGPKT(dbgparams)           DEBUGMSG(ZONE_PACKET, dbgparams);   DEBUGMSG(ZONE_PACKET, (TEXT("\r\n")))
#define DBGDMA(dbgparams)           DEBUGMSG(ZONE_DMA, dbgparams);      DEBUGMSG(ZONE_DMA, (TEXT("\r\n")))
#define DBGISR(dbgparams)           DEBUGMSG(ZONE_ISR, dbgparams);      DEBUGMSG(ZONE_ISR, (TEXT("\r\n")))
#define DEBUGFIR(flags, dbgparams)  if (flags) { DEBUGMSG(ZONE_FIRMODE, dbgparams); DEBUGMSG(ZONE_FIRMODE, (TEXT("\r\n"))); }

__inline TCHAR *
DBG_NDIS_RESULT_STR(NDIS_STATUS status)
{
    switch (status)
    {
        case NDIS_STATUS_SUCCESS:
            return (TEXT("NDIS_STATUS_SUCCESS"));
        case NDIS_STATUS_FAILURE:
            return (TEXT("NDIS_STATUS_FAILURE"));
        case NDIS_STATUS_PENDING:
            return (TEXT("NDIS_STATUS_PENDING"));
        case NDIS_STATUS_RESOURCES:
            return (TEXT("NDIS_STATUS_RESOURCES"));
    }
    return (TEXT("NDIS_STATUS_???"));
}

#else // UNDER_CE

/*
 * The DBG_ADD_PKT_ID flag causes the miniport to add/delete a packet
 * id to each packet.  This is only for debugging purposes; it makes
 * the miniport INCOMPATIBLE with all others.
 */

#ifdef DBG_ADD_PKT_ID
extern BOOLEAN addPktIdOn;
#endif

typedef enum {
	DBG_ERR		= (1 << 0),
	DBG_STAT	= (1 << 1),
	DBG_MSG		= (1 << 2),
	DBG_OUT		= (1 << 2),
	DBG_BUF		= (1 << 3),
	DBG_PACKET	= (1 << 4),
	DBG_PKT	    	= (1 << 4),

	// Added so we can look at an ndis buffer.
	DBG_NDIS_PACKET = (1 << 5),

	DBG_DUMPLOG	= (1 << 6),
	DBG_LOG		= (1 << 7),
	DBG_ALL		= (DBG_ERR|DBG_STAT|DBG_MSG|DBG_BUF|DBG_PACKET),
	DBG_SIR_MODE	= (1 << 8),
	DBG_FIR_MODE	= (1 << 9),
	DBG_TX          = (1 << 10),
	DBG_RX          = (1 << 11),
	DBG_DMA         = (1 << 12),
	DBG_ISR         = (1 << 13),
	DBG_TRACE_TX    = (1 << 14)
};

// extern ULONG _cdecl DbgPrint(PCHAR Format, ...);
extern UINT dbgOpt;


#define DBG_NDIS_RESULT_STR(_ndisResult)				\
	((PUCHAR) ((_ndisResult == NDIS_STATUS_SUCCESS) ?		\
	"NDIS_STATUS_SUCCESS" : (_ndisResult == NDIS_STATUS_FAILURE) ?	\
	"NDIS_STATUS_FAILURE" : (_ndisResult == NDIS_STATUS_PENDING) ?	\
	"NDIS_STATUS_PENDING" : "NDIS_STATUS_???"))

#define DBGPRINT(dbgprint_params_in_parens)				\
{									\
	DbgPrint("NSC: ");						\
	DbgPrint dbgprint_params_in_parens;				\
	DbgPrint("\r\n");						\
}

#define DEBUGMSG(flags, dbgprint_params_in_parens) \
    if (dbgOpt & (flags))                          \
    {                                              \
        DbgPrint dbgprint_params_in_parens;        \
    }

#define DEBUGFIR(flags, dbgprint_params_in_parens) \
    if (dbgOpt & DBG_FIR_MODE && dbgOpt & (flags)) \
    {                                              \
        DbgPrint dbgprint_params_in_parens;        \
    }

#define DBGOUT(dbgprint_params_in_parens)				\
	if (dbgOpt & DBG_MSG) {						\
        if (!firstIrDevice)                             \
        {                                               \
			DBGPRINT(dbgprint_params_in_parens);		\
        }                                               \
        else \
		if ((firstIrDevice->currentSpeed > MAX_SIR_SPEED) &&	\
					(dbgOpt & DBG_FIR_MODE)) {	\
			DBGPRINT(dbgprint_params_in_parens);		\
		}							\
		else if (dbgOpt & DBG_SIR_MODE) {			\
			DBGPRINT(dbgprint_params_in_parens);		\
		}							\
	}

#define DBGERR(dbgprint_params_in_parens)				\
	if (dbgOpt & DBG_ERR) {						\
        if (!firstIrDevice)                             \
        {                                               \
			DBGPRINT(dbgprint_params_in_parens);		\
        }                                               \
        else \
		if ((firstIrDevice->currentSpeed > MAX_SIR_SPEED) &&	\

⌨️ 快捷键说明

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