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

📄 net_if_pkt.h

📁 从Luminary官方网站下载的LM3S6000系列的UCos+Tcp/IP的源码, 经本人稍微修改后可直接在IAR6.2下编译通过,里面包括了LM3S6000系列的所有外设UART, PWn....
💻 H
字号:
/*
*********************************************************************************************************
*                                              uC/TCP-IP
*                                      The Embedded TCP/IP Suite
*
*                          (c) Copyright 2003-2006; Micrium, Inc.; Weston, FL
*
*                   All rights reserved.  Protected by international copyright laws.
*                   Knowledge of the source code may not be used to write a similar
*                   product.  This file may only be used in accordance with a license
*                   and should not be redistributed in any way.
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*
*                                 PACKET-BASED NETWORK INTERFACE LAYER
*
* Filename      : net_if_pkt.h
* Version       : V1.86
* Programmer(s) : ITJ
*********************************************************************************************************
* Note(s)       : (1) Supports packet-based Network Interface Cards/Layers.
*
*                 (2) Packet-based Network Interface Layer also referred to as 'Packet Interface' & also
*                     abbreviated as network interface.
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                               MODULE
*
* Note(s) : (1) Packet-based Network Interface Layer is required for some network interfaces (see
*               'net_if_pkt.h  Note #1).
*
*           (2) The following packet-based-network-interface-module-present configuration value MUST be
*               pre-#define'd in 'net_cfg_net.h' PRIOR to all other network modules that require Packet-
*               Based Network Interface Layer Configuration (see  'net_cfg_net.h  NETWORK INTERFACE LAYER
*               CONFIGURATION  Note #3') :
*
*                   NET_IF_PKT_MODULE_PRESENT
*********************************************************************************************************
*/

#ifdef   NET_IF_PKT_MODULE_PRESENT                              /* See Note #2.                                         */


/*
*********************************************************************************************************
*                                               EXTERNS
*********************************************************************************************************
*/

#ifdef   NET_IF_PKT_MODULE
#define  NET_IF_PKT_EXT
#else
#define  NET_IF_PKT_EXT  extern
#endif


/*$PAGE*/
/*
*********************************************************************************************************
*                                               DEFINES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                             DATA TYPES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                          GLOBAL VARIABLES
*********************************************************************************************************
*/

#if (NET_CTR_CFG_STAT_EN == DEF_ENABLED)                        /* ----------------- NET PKT IF STATS ----------------- */
NET_IF_PKT_EXT  NET_CTR  NetIF_Pkt_StatRxPktCtr;                /* Nbr rx'd pkts.                                       */
NET_IF_PKT_EXT  NET_CTR  NetIF_Pkt_StatRxPktProcessedCtr;       /* Nbr rx'd pkts delivered to net IF layer.             */

NET_IF_PKT_EXT  NET_CTR  NetIF_Pkt_StatTxPktCtr;                /* Nbr tx'd pkts.                                       */
#endif


#if (NET_CTR_CFG_ERR_EN  == DEF_ENABLED)                        /* ----------------- NET PKT IF ERRS ------------------ */
NET_IF_PKT_EXT  NET_CTR  NetIF_Pkt_ErrRxPktDiscardedCtr;        /* Nbr rx'd pkts discarded.                             */

NET_IF_PKT_EXT  NET_CTR  NetIF_Pkt_ErrTxPktDiscardedCtr;        /* Nbr tx   pkts discarded.                             */

#if (NET_ERR_CFG_ARG_CHK_DBG_EN == DEF_ENABLED)
NET_IF_PKT_EXT  NET_CTR  NetIF_Pkt_ErrTxProtocolCtr;
NET_IF_PKT_EXT  NET_CTR  NetIF_Pkt_ErrTxInvalidBufIxCtr;        /* Nbr tx   pkts with invalid buf ix.                   */
#endif

#endif


/*$PAGE*/
/*
*********************************************************************************************************
*                                         FUNCTION PROTOTYPES
*
* Note(s) : (1) Network Interface Receive Task Handler functions named 'NetIF_' ONLY to allow NIC & OS port
*               interfaces to be generic for either packet-based or character-based network interface.
*********************************************************************************************************
*/

void         NetIF_Pkt_Init         (NET_ERR  *perr);


                                                                /* --------------------- RX FNCTS --------------------- */
void         NetIF_RxTaskHandlerInit(void);

void         NetIF_RxTaskHandler    (void);


                                                                /* --------------------- TX FNCTS --------------------- */
void         NetIF_Pkt_Tx           (NET_BUF  *pbuf,
                                     NET_ERR  *perr);


/*
*********************************************************************************************************
*                                         FUNCTION PROTOTYPES
*                                      DEFINED IN OS'S  net_os.c
*
* Note(s) : (1) OS interface functions named 'IF' ONLY since OS port MUST be generic for either packet-
*               based or character-based network interface.
*********************************************************************************************************
*/

void         NetOS_IF_Init          (NET_ERR  *perr);          /* Create pkt IF objs & start rx task.                  */


void         NetOS_IF_RxTaskWait    (NET_ERR  *perr);          /* Wait   for pkt IF rx signal from NIC Rx ISR.         */

void         NetOS_IF_RxTaskSignal  (NET_ERR  *perr);          /* Signal     pkt IF rx rdy    from NIC Rx ISR.         */


/*$PAGE*/
/*
*********************************************************************************************************
*                                        CONFIGURATION ERRORS
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                             MODULE END
*
* Note(s) : (1) See 'MODULE  Note #1'.
*********************************************************************************************************
*/

#endif                                                          /* End of pkt-based net IF module include (see Note #1).*/

⌨️ 快捷键说明

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