亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fei82557end.h

?? INTEL IXP425的VXWORKS BSP
?? H
?? 第 1 頁 / 共 2 頁
字號:
/* fei82557End.h - Intel 82557 network interface header *//* Copyright 1990-2001 Wind River Systems, Inc. *//*modification history--------------------01m,24feb03,rcs  added added definition of RFD_DESC_SIZE SPR#8635201l,23jan03,rcs  Added RBD_TAG struct 01k,20sep01,dat  Removing ANSI errors for diab compiler01j,28sep00,jgn  remove physical to virtual translations (SPR 34891)01i,13sep00,jkf  T3 SPR#33822 (aka T2 SPR's 33792, 33795, and 33796)01i,11jun00,ham  removed reference to etherLib.01h,06nov99,dat  Merge from tor3_x.bsp_drv_facility branch01g,12nov99,mas  added typecasting to non-PPC FEI_XXXX_RD macros (SPR 24474)01f,21mar99,jkf  Added PPC access routines needed for Yellowknife.01e,21jul98,cn   Moved here some redefineable macros01d,01apr98,cn   added vendor and device id definitions01c,11mar98,cn   checked-in01b,05mar98,cn   code clean-up after code review01a,07nov97,cn	 created from ../netif/if_fei.h, version 01c*/#ifndef __INCfei82557Endh#define __INCfei82557Endh/* includes */#ifdef __cplusplusextern "C" {#endif#if ((CPU_FAMILY==I960) && (defined __GNUC__))#pragma align 1                 /* tell gcc960 not to optimize alignments */#endif	/* CPU_FAMILY==I960 *//* defines *//* * redefine the macro below in the bsp if you need to access the device * registers/descriptors in a more suitable way. */#if (CPU_FAMILY == PPC)#ifndef FEI_LONG_WR#define FEI_LONG_WR(addr, value) (sysOutLong ((ULONG) addr, (ULONG) value))#endif #ifndef FEI_WORD_WR#define FEI_WORD_WR(addr, value) (sysOutWord ((ULONG) addr, (USHORT) value))#endif #ifndef FEI_BYTE_WR#define FEI_BYTE_WR(addr, value) (sysOutByte ((ULONG) addr, (UCHAR) value))#endif #ifndef FEI_LONG_RD#define FEI_LONG_RD(addr, value) (value = sysInLong ((ULONG) addr))#endif #ifndef FEI_WORD_RD#define FEI_WORD_RD(addr, value) (value = sysInWord ((ULONG) addr))#endif #ifndef FEI_BYTE_RD#define FEI_BYTE_RD(addr, value) (value = sysInByte ((ULONG) addr))#endif #endif /* CPU_FAMILY == PPC */#ifndef FEI_LONG_WR#define FEI_LONG_WR(addr, value)                                        \    (* (UINT32 *) (addr) = ((UINT32) (FEI_SWAP_LONG (value) & 0xffffffff)))#endif /* FEI_LONG_WR */ #ifndef FEI_WORD_WR#define FEI_WORD_WR(addr, value)                                        \    (* (UINT16 *) (addr) = ((UINT16) (FEI_SWAP_WORD (value) & 0x0000ffff)))#endif /* FEI_WORD_WR */ #ifndef FEI_BYTE_WR#define FEI_BYTE_WR(addr, value)                                        \    (* ((UINT8 *) (addr)) = ((UINT8) ((value) & 0x000000ff)))#endif /* FEI_BYTE_WR */ #ifndef FEI_LONG_RD#define FEI_LONG_RD(addr, value)                                        \    (((value)) = (UINT32) FEI_SWAP_LONG (((*((UINT32 *)(addr))) & \     0xffffffff)))#endif /* FEI_LONG_RD */ #ifndef FEI_WORD_RD#define FEI_WORD_RD(addr, value)                                        \    (((value)) = (UINT16) FEI_SWAP_WORD (((*((UINT16 *)(addr))) & \     0x0000ffff)))#endif /* FEI_WORD_RD */ #ifndef FEI_BYTE_RD#define FEI_BYTE_RD(addr, value)                                        \    (((value)) = (UINT8) (((*((UINT8 *)(addr))) & 0x000000ff)))#endif /* FEI_BYTE_RD */ /* * Default macro definitions for BSP interface. * These macros can be redefined in a wrapper file, to generate * a new module with an optimized interface. */ #ifndef SYS_INT_CONNECT#define SYS_INT_CONNECT(pDrvCtrl, pFunc, arg, pRet)                         \    {                                                                       \    /* SPR 33796/33822 - init SYS_INT_CONNECT's return value" to ERROR */   \    *pRet = ERROR;                                                          \                                                                            \    /* SPR 33792 - remove FEI_VECTOR checking from SYS_INT_CONNECT */       \    /* SPR 33795 - add feiEndIntConnect NULL checking in SYS_INT_CONNECT */ \    if (feiEndIntConnect != NULL)                                      \        {                                                                   \        *pRet = (feiEndIntConnect) ((VOIDFUNCPTR*)                     \                             INUM_TO_IVEC (FEI_VECTOR (pDrvCtrl)),          \                             (pFunc), (int) (arg));                         \        }                                                                   \    }#endif /* SYS_INT_CONNECT */ #ifndef SYS_INT_DISCONNECT#define SYS_INT_DISCONNECT(pDrvCtrl, pFunc, arg, pRet)                      \    {                                                                       \    /* SPR 33796 - initialize SYS_INT_DISCONNECT's return value to ERROR */ \    *pRet = ERROR;                                                          \                                                                            \    /* SPR 33792 - remove FEI_VECTOR checking from SYS_INT_DISCONNECT */    \    if (feiEndIntDisconnect != NULL)                                   \        {                                                                   \        *pRet = feiEndIntDisconnect ((VOIDFUNCPTR*)                    \                              INUM_TO_IVEC (FEI_VECTOR (pDrvCtrl)),         \                              (pFunc));                                     \        }                                                                   \    }#endif /* SYS_INT_DISCONNECT */ #ifndef SYS_INT_ENABLE#define SYS_INT_ENABLE(pDrvCtrl)                                            \if (FEI_INT_ENABLE (pDrvCtrl))                                              \    ((*(FUNCPTR) (FEI_INT_ENABLE (pDrvCtrl))) (pDrvCtrl->unit))#endif /*SYS_INT_ENABLE*/ #ifndef SYS_INT_DISABLE#define SYS_INT_DISABLE(pDrvCtrl)                                           \if (FEI_INT_DISABLE (pDrvCtrl))                                             \    ((*(FUNCPTR) (FEI_INT_DISABLE (pDrvCtrl))) (pDrvCtrl->unit))#endif /*SYS_INT_DISABLE*/ #ifndef SYS_INT_ACK#define SYS_INT_ACK(pDrvCtrl)                                               \if (FEI_INT_ACK (pDrvCtrl))                                                 \    ((*(FUNCPTR) (FEI_INT_ACK (pDrvCtrl))) (pDrvCtrl->unit))#endif /*SYS_INT_ACK*/ #ifndef LOCAL_TO_SYS_ADDR#define LOCAL_TO_SYS_ADDR(unit,localAddr)                                   \    ((int) pDrvCtrl->board.sysLocalToBus ?                                  \    (*pDrvCtrl->board.sysLocalToBus) (unit, localAddr) : localAddr)#endif /* LOCAL_TO_SYS_ADDR */ #ifndef SYS_TO_LOCAL_ADDR#define SYS_TO_LOCAL_ADDR(unit,sysAddr)                                     \    ((int) pDrvCtrl->board.sysBusToLocal ?                                  \    (*pDrvCtrl->board.sysBusToLocal)(unit, sysAddr) : sysAddr)#endif /* SYS_TO_LOCAL_ADDR */ /* Intel PRO-100B PCI specific definitions */ #define PRO100B_PCI_VENDOR_ID   0x8086  /* PCI vendor ID *//* #define PRO100B_PCI_DEVICE_ID   0x1229 xfsun delete */ /* PCI device ID */#define PRO100B_PCI_DEVICE_ID   0x1209  /* PCI device ID *//*#define FEI82557_DEVICE_ID      0x1229 */ /* 82557 device ID */ #define FEI82557_DEVICE_ID      0x1209  /* 82557 device ID */ #define MC_FEI MC_EI  /* temp */#define DEV_NAME        "fei"#define DEV_NAME_LEN    4#define DEF_NUM_CFDS    64                      /* default number of CFDs */#define DEF_NUM_RFDS    128                      /* default number of RFDs */#define FEI_100MBS      100000000               /* bits per sec */#define FEI_10MBS       10000000                /* bits per sec */#define EADDR_LEN       6                       /* ethernet address length */#define FEI_ADDR_LEN    EADDR_LEN               /* ethernet address length */ #define FEI_ACTION_TMO          0x01    /* action command timeout in seconds */#define FEI_SCB_TMO             0x01    /* SCB command timeout in seconds */#define FEI_INIT_TMO            0x01    /* 557 init timeout in seconds */#define FEI_TX_RESTART_TMO      0x01    /* tx restart watchdog timeout */#define FEI_TCB_TX_THRESH       0x1F    /* Tx threshold value *//* Cluster Size */ #define CLUSTER_SIZE	        1536	 /* RFD and CFD size */#define RFD_SIZE_HDR            16        /* The CFD wants to be 32 byte aligned  so is rounded up to 32 */ #define RFD_SIZE_HDR            16#define RFD_SIZE_PKT            (EH_SIZE + ETHERMTU + 2)#define RFD_SIZE_TRAIL          RFD_SIZE_PREV + RFD_SIZE_SW_NEXT#define RFD_SIZE_PREV           4#define RFD_SIZE_SW_NEXT        4#define RFD_SIZE                ROUND_UP ((RFD_SIZE_HDR +               \                                           RFD_SIZE_PKT +               \                                           RFD_SIZE_TRAIL), 4)#define RFD_DESC_SIZE           32#define RFD_STATUS_NONE		0x00#define RFD_STATUS_START	0x01#define RFD_STATUS_EL		0x02#define FIRST_RFD		0x00#define LAST_RFD		0xff#define MID_RFD			0x12         /* The actual RBD size is 16 bytes but wants to be 32 byte aligned */ #define RBD_SIZE		32 #define RBD_STATUS_FREE		0x00#define RBD_STATUS_DMA		0x01#define RBD_STATUS_MISSED	0x03#define RBD_STATUS_EL_SEEN	0x55#define RBD_STATUS_BAD		0xff#define RBD_FORCE_REQUEUE       0xff#define RBD_TAG_FREE		0x00#define RBD_TAG_DMA		0x01#define RBD_TAG_RING		0x02#define RBD_TAG_BAD		0xff#define CFD_SIZE_HDR            8#define CFD_SIZE_DUMP           4#define CFD_SIZE_MULTIC         (2 + (6 * N_MCAST))#define CFD_SIZE_IA             8#define CFD_SIZE_NOP            0#define CFD_SIZE_PKT            (EH_SIZE + ETHERMTU + 2)#define CFD_SIZE_TCB            (8 + CFD_SIZE_PKT)#define CFD_SIZE_PREV           4#define CFD_SIZE_SW_NEXT	4#define CFD_SIZE_ACTION         1#define CFD_SIZE_TRAIL          (CFD_SIZE_PREV +			\				 CFD_SIZE_SW_NEXT +			\				 CFD_SIZE_ACTION)#define CFD_SIZE_CORE           CFD_SIZE_TCB         /* The CFD wants to be 32 byte aligned  so is rounded up to 32 */ #define CFD_SIZE                ROUND_UP ((CFD_SIZE_HDR +               \                                           CFD_SIZE_CORE +              \                                           CFD_SIZE_TRAIL), 32) /* frame descriptors definitions */ #define CFD_STAT_OFFSET         0x00                    /* status word */#define CFD_COMM_OFFSET         0x02                    /* command word */#define CFD_NEXT_OFFSET         0x04                    /* next frame */#define CFD_PREV_OFFSET         (CFD_SIZE - 4)          /* previous frame */#define CFD_TBD_ADDR_OFFSET     0x08                    /* buffer descriptor*/#define CFD_COUNT_OFFSET        0x0c                    /* count field */#define CFD_NUM_OFFSET          0x0f                    /* buffer num  field */#define CFD_THRESH_OFFSET       0x0e                    /* threshold field */#define CFD_ACTION_OFFSET       (CFD_SIZE - 9)          /* action/transmit */#define CFD_SW_NEXT_OFFSET	(CFD_SIZE - 8)		/* s/w next link */#define CFD_PKT_OFFSET          (CFD_SIZE_HDR + 8)      /* packet data */#define CFD_IA_OFFSET           CFD_SIZE_HDR            /* individual address */#define CFD_MCOUNT_OFFSET       CFD_SIZE_HDR            /* mcount field */#define CFD_MC_OFFSET           (CFD_SIZE_HDR + 2)      /* mcast list */ #define RFD_STAT_OFFSET         0x00                    /* status word */#define RFD_COMM_OFFSET         0x02                    /* command word */#define RFD_NEXT_OFFSET         0x04                    /* next frame field */#define RFD_PREV_OFFSET         (RFD_SIZE - 4)          /* previous frame */#define RFD_SW_NEXT_OFFSET      (RFD_SIZE - 8)          /* s/w next frame */#define RFD_RBD_OFFSET          0x08                    /* buffer descriptor */#define RFD_COUNT_OFFSET        0x0c                    /* count field */#define RFD_SIZE_OFFSET         0x0e                    /* data size */#define RFD_PKT_OFFSET          (RFD_SIZE_HDR)          /* packet data*/#define RBD_STAT_OFFSET         0x00                    /* Count &  F flag */ #define RBD_EOF_OFFSET		0x02			/* End of Frame */#define RBD_NEXT_OFFSET         0x04			/* Next RBD in list */#define RBD_BUFFER_OFFSET	0x08			/* cluster pointer */#define RBD_CFG_OFFSET          0x0c			/* EL & size fields */	#define RBD_C_EL		0x8000#define RBD_EL_MASK             0x8000	#define RBD_SIZE_MASK		0x7fff#define RBD_COUNT_MASK          0x3fff#define TBD_NOT_USED            0xffffffff            /* use semplified mode */#define RBD_NULL_ADDR           0xffffffff            /* use flexible mode *//* TX-specific constants *//* Number of TX frags allowed per transmission. */#define TBD_MAX_FRAGS           32/* * We place the transmit buffer array immediately after * the CFD structure, when doing scatter/gather TX DMA. */#define CFD_TBD_OFFSET          0x10/* A fragment address/length pair is 8 bytes long (two 32-bit words). */#define TBD_SIZE                8/* * A fragment addrees/length pair contains a 32-bit physical address * pointer, followed by a 32-bit length field. */#define TBD_ADDR_OFFSET         0x00#define TBD_LEN_OFFSET          0x04/* * We also need to save a pointer to the mBlk so we

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产欧美一区二区| 国产精品丝袜一区| 久久国产视频网| 久久免费的精品国产v∧| 国产剧情一区在线| 国产精品美女一区二区| 色偷偷久久人人79超碰人人澡| 亚洲国产一区二区三区青草影视| 欧美一级精品大片| 国产电影一区二区三区| 中文欧美字幕免费| 欧美视频一区在线观看| 26uuu久久综合| 成人高清免费在线播放| 亚洲一级二级三级在线免费观看| 91精品国产综合久久久蜜臀粉嫩| 狠狠色丁香婷婷综合| 国产精品九色蝌蚪自拍| 欧美三级视频在线播放| 久久99精品久久久久久国产越南| 欧美国产亚洲另类动漫| 日本久久精品电影| 捆绑调教一区二区三区| 中文字幕中文字幕在线一区| 欧美性猛交xxxxxx富婆| 韩国精品主播一区二区在线观看 | 欧美视频一区二区三区四区| 日本aⅴ亚洲精品中文乱码| 国产亚洲欧洲997久久综合| 91亚洲国产成人精品一区二三| 偷拍亚洲欧洲综合| 国产欧美一二三区| 欧美日韩三级视频| 国产大陆精品国产| 91精品在线观看入口| 国产一区二区三区精品欧美日韩一区二区三区 | 91色九色蝌蚪| 日韩精品三区四区| 国产精品久久久久久久久免费相片 | 成人av网站在线观看| 午夜久久久影院| 中文字幕国产一区二区| 欧美日韩精品三区| 成人精品鲁一区一区二区| 亚洲成人av在线电影| 日本一区免费视频| 4438x成人网最大色成网站| 成人黄色大片在线观看| 青青国产91久久久久久 | 亚洲一二三区在线观看| 久久久精品国产99久久精品芒果| 欧美日韩一区二区在线观看视频| 国产精品三级视频| 日韩色在线观看| 欧美专区日韩专区| 成人午夜av在线| 蜜臀久久久99精品久久久久久| 亚洲精品日日夜夜| 国产人伦精品一区二区| 91精品国产乱码久久蜜臀| 91在线国产福利| 国产精品一区三区| 日本女人一区二区三区| 亚洲三级电影全部在线观看高清| 久久综合色鬼综合色| 欧美三级中文字幕| 色综合激情久久| 成人av电影观看| 国产精品主播直播| 免费成人在线观看| 亚洲电影视频在线| 亚洲人亚洲人成电影网站色| 久久影院视频免费| 日韩一区二区中文字幕| 欧美日韩在线三区| 在线观看日韩一区| 一道本成人在线| 成人午夜伦理影院| 国产成人福利片| 欧美经典三级视频一区二区三区| 日韩亚洲国产中文字幕欧美| 欧美在线免费观看亚洲| 91美女在线视频| 91在线视频观看| 成人18视频日本| 高清久久久久久| 国产一区二区三区四区五区入口 | 欧洲精品一区二区三区在线观看| 丰满岳乱妇一区二区三区| 久久国产精品99久久人人澡| 日韩av电影免费观看高清完整版| 亚洲va在线va天堂| 亚洲高清久久久| 亚洲电影在线播放| 亚洲国产va精品久久久不卡综合| 一区二区三区鲁丝不卡| 亚洲区小说区图片区qvod| 中文字幕一区在线观看视频| 久久久亚洲精品一区二区三区| 日韩欧美国产三级| 欧美tickling挠脚心丨vk| 欧美成人精精品一区二区频| 日韩一级高清毛片| 国产成人免费av在线| 国产精品一二三| 粉嫩13p一区二区三区| 国产激情91久久精品导航| 国产激情91久久精品导航 | 欧美日韩五月天| 欧美视频精品在线观看| 欧美性感一类影片在线播放| 欧美在线制服丝袜| 欧美日韩中文国产| 欧美另类高清zo欧美| 欧美高清视频www夜色资源网| 欧美日韩亚洲综合在线 | 国产黄人亚洲片| 国产成人激情av| 99re成人在线| 色婷婷av一区二区三区大白胸| 日本乱人伦一区| 欧美高清视频不卡网| 日韩欧美国产一区在线观看| 欧美电影免费观看高清完整版在线观看| 欧美videos中文字幕| 国产清纯白嫩初高生在线观看91 | 在线观看成人小视频| 欧美裸体bbwbbwbbw| 欧美一级国产精品| 久久久久国产免费免费| 中文字幕在线不卡一区| 亚洲一区在线视频| 蜜臀a∨国产成人精品| 国产最新精品免费| 波波电影院一区二区三区| 日本道色综合久久| 欧美一区二区三区影视| 亚洲精品在线三区| 亚洲欧美综合另类在线卡通| 亚洲成人免费看| 国产一区二区影院| 99久久国产综合精品色伊| 欧美欧美欧美欧美首页| 久久久夜色精品亚洲| 亚洲精品少妇30p| 久久精品久久久精品美女| 国产精品一区二区黑丝| 91麻豆福利精品推荐| 日韩午夜小视频| 国产精品网站在线观看| 午夜影院久久久| 国产一区二区在线免费观看| 99国产欧美另类久久久精品| 欧美精品tushy高清| 久久久久久免费毛片精品| 亚洲精选在线视频| 久久久亚洲午夜电影| 亚洲精品久久7777| 久久99久久久久久久久久久| 波多野结衣精品在线| 欧美精品视频www在线观看| 久久久久久免费| 亚洲一区二区精品视频| 国产在线一区二区| 99re在线精品| 日韩女优av电影在线观看| 成人免费在线观看入口| 蜜臀国产一区二区三区在线播放| 成人h精品动漫一区二区三区| 欧美美女bb生活片| 国产精品久久久久三级| 美腿丝袜一区二区三区| 色哟哟精品一区| 久久久精品黄色| 日本不卡在线视频| 99精品偷自拍| 精品国产乱码久久久久久牛牛| 亚洲美女区一区| 国产精品一卡二| 欧美高清www午色夜在线视频| 国产精品国产三级国产普通话蜜臀 | 国产精品欧美久久久久一区二区| 欧美一区日本一区韩国一区| 中文字幕不卡在线| 久久精品国产亚洲a| 欧洲国内综合视频| 亚洲国产高清不卡| 日韩精品电影一区亚洲| 99re在线精品| 日本一区免费视频| 久久激情综合网| 欧美电影在线免费观看| 亚洲桃色在线一区| 国产69精品一区二区亚洲孕妇| 日韩视频免费观看高清完整版 | 国产成人免费av在线| 666欧美在线视频| 亚洲精品免费看| 成人黄色大片在线观看| 久久女同性恋中文字幕|