📄 nsmdiag.h
字号:
//******************************************************************************
//
// NSMDIAG.H
//
// Copyright (c) 2005 National Semiconductor Corporation.
// All Rights Reserved
//
// Diag Interface related defines
//
//*****************************************************************************
#ifndef _NSM_DIAG_H_
#define _NSM_DIAG_H_
// Default sts queue size
#define NSM_DIAG_DEFAULT_STS_QUEUE_SIZE 256
typedef struct _DIAG_PKT {
// Below are for interacting with the App
NS_UINT pktStatus; // Pkt status
NS_UINT pktSize; // Pkt size
NS_UINT32 cmdSts; // Of last Txd i.e basically for the pkt
NS_UINT appPktHandle; // Pkt handle as signalled by the App
NS_UINT firstDescIndex; // First descriptor used for this xfer
NS_UINT numDesc; // Number of descriptors used for this xfer
// NSM Diag related
MPL_PKT_FRAG *pFrag; // Pointer to head frag
NS_VOID *pNsmPrivate; // Private usage
MPL_LIST_NODE link; // Linkage
} DIAG_PKT;
typedef struct _DIAG_STATS {
NS_UINT rxPackets; // total packets received
NS_UINT txPackets; // total packets transmitted
NS_UINT rxBytes; // total bytes received
NS_UINT txBytes; // total bytes transmitted
NS_UINT rxErrors; // bad packets received
NS_UINT txErrors; // packet transmit problems
NS_UINT rxDropped; // no space to note rx completion
NS_UINT txDropped; // no space to note tx completion
// detailed rx_errors:
NS_UINT rxLengthErrors;
NS_UINT rxOverErrors; // receiver ring buff overflow
NS_UINT rxCrcErrors; // recved pkt with crc error
NS_UINT rxFrameErrors; // recv'd frame alignment error
// detailed tx_errors
NS_UINT txCollErrors; // dropped due to excessive collisions
NS_UINT txAbortedErrors; // transmission was aborted
NS_UINT txCarrierErrors; // Carrier sense lost during tx
NS_UINT txFifoErrors; // FIFO underrun occured
NS_UINT txWindowErrors; // Out-of-window collision occured durring tx
} DIAG_STATS;
//Exported functions
struct NSM_CONTEXT; // Handle fwd decl
#if defined(__cplusplus)
extern "C"
{
#endif
NS_UINT
NsmDiagInitialize(
struct NSM_CONTEXT *adapter);
NS_UINT
NsmDiagIoctl(
struct NSM_CONTEXT *adapter,
NS_VOID *useraddr);
NS_VOID
NsmDiagTransmitDone(
NS_VOID *pClientDevHndl,
NS_UINT packetCnt,
MPL_TRANSMIT_DONE *pTxDone);
NS_VOID
NsmDiagReceive(
NS_VOID *pClientDevHndl,
NS_UINT packetCnt,
MPL_PKT *pPkt);
NS_VOID
NsmDiagProcessDoneList(
struct NSM_CONTEXT *adapter,
NS_UINT pktCnt,
NS_BOOLEAN validate,
MPL_LIST *pList,
MPL_PKT_FRAG **ppTailFrag);
NS_VOID
NsmDiagUnInitialize(
struct NSM_CONTEXT *adapter);
#if defined(__cplusplus)
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -