📄 settings.h
字号:
/*
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 + -