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

📄 nsmdiag.h

📁 NATIONAL公司DP83816芯片Linux下驱动
💻 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 + -