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

📄 nsmapp.h

📁 NATIONAL公司DP83816芯片Linux下驱动
💻 H
字号:

//******************************************************************************
//
//  NSMAPP.H
//
//  Copyright (c) 2005 National Semiconductor Corporation.
//  All Rights Reserved
//
//  Management Apps / IOCTL Related Defines
//
//*****************************************************************************

#ifndef _NSM_APP_H_
#define _NSM_APP_H_

#define NSM_APP_INTRO         0xFFFF
#define NSM_REG_READ          0x01
#define NSM_REG_WRITE         0x02
#define NSM_PCI_READ          0x03
#define NSM_PCI_WRITE         0x04
#define NSM_XFER_CFG_SET      0x05
#define NSM_XFER_CFG_GET      0x06
#define NSM_TRANSMIT          0x07
#define NSM_TRANSMIT_STATUS   0x08
#define NSM_TRANSMIT_FLUSH    0x09
#define NSM_RECEIVE           0x0A
#define NSM_RECEIVE_FLUSH     0x0B
#define NSM_STATS             0x0C

#define NS_APP_IOCTL_CODE 0x89FF
#define NS_APP_SIGN       0x0510
#define NS_DRIVER_SIGN    0x1228
#define NS_APP_MAX_PKT_SIZE 2046
#define NS_STATUS_QUEUE_LEN 256 // Packets

// Basic command - Opcode only
typedef struct _NS_APP_CMD{
   NS_UINT  cmd;
   NS_UINT  instance;
   NS_UINT  reserved;
   NS_UINT  status;
} NS_APP_CMD;

// Register read/write
typedef struct _NS_APP_REG_CMD{
   NS_UINT  cmd;
   NS_UINT  instance;
   NS_UINT  reserved;
   NS_UINT  status;

   NS_UINT offset;
   NS_UINT data;
} NS_APP_REG_CMD;

// App to Driver initial handshake
typedef struct _NS_APP_INTRO_CMD{
   NS_UINT  cmd;
   NS_UINT  instance;
   NS_UINT  reserved;
   NS_UINT  status;

   NS_UINT    app;
   NS_UINT    driver;
   NS_UINT    numPorts;
   NS_UINT    driverVerMajor;
   NS_UINT    driverVerMinor;
} NS_APP_INTRO_CMD;

// Register read/write
typedef struct _NS_APP_XFER_CFG_CMD{
   NS_UINT  cmd;
   NS_UINT  instance;
   NS_UINT  reserved;
   NS_UINT  status;

   NS_UINT    txDescCnt;
   NS_UINT    txpQueueCnt;
   NS_UINT    txBufferLen;

   NS_UINT    rxDescCnt;
   NS_UINT    rxBufferLen;

   NS_UINT    stsQueueSize;
} NS_APP_XFER_CFG_CMD;

// Data Transfer Request
typedef struct _NS_APP_XFER_CMD{
   NS_UINT  cmd;
   NS_UINT  instance;
   NS_UINT  reserved;
   NS_UINT  status;

   // Set by App
   NS_UINT    pktHandle; // Same need to be used while querying for status
   NS_UINT    pQueue; // Valid values are 1,2,3 and 4
   NS_UINT    packetSize;// Actual size of the packet
   NS_UINT    bufSize;   // Size of buffer pointed by buf
   NS_UINT    flags;     // Various OOB directives
#define NSM_APP_XFER_COPY   0x00000001 // Copy the data from driver to app

   // Set by Driver
#define NS_APP_MAX_FRAG_INFO 0x4
   NS_UINT    numDesc;        // Number of descriptors used for this xfer
   NS_UINT32  cmdSts; // Of the last descriptor
   NS_ADDR    descPhyAddr[NS_APP_MAX_FRAG_INFO]; //Physical addr of desc
   NS_ADDR    bufPhyAddr[NS_APP_MAX_FRAG_INFO]; //Physical addr of buffers
   NS_UINT    morePkts; //Count of pkt completions to follow

   // Actual data followes last
} NS_APP_XFER_CMD;

// Driver maintained (Tx/Rx related) stats
typedef struct _NS_APP_STATS_CMD {
   NS_UINT  cmd;
   NS_UINT  instance;
   NS_UINT  reserved;
   NS_UINT  status;

   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
} NS_APP_STATS_CMD;

#endif

⌨️ 快捷键说明

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