📄 net_os.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.
*********************************************************************************************************
*/
/*
*********************************************************************************************************
*
* OPERATING SYSTEM SUPPORT
*
* Micrium uC/OS-II
*
* Filename : net_os.h
* Version : V1.86
* Programmer(s) : ITJ
*********************************************************************************************************
* Note(s) : (1) Assumes uC/OS-II is included in the product build.
*
* (2) REQUIREs the following uC/OS-II features to be ENABLED :
*
* ---- FEATURE ---- --- MINIMUM NUMBER TO CONFIGURE FOR NET/OS PORT ---
*
* (a) Semaphores NET_OS_NBR_SEM (see 'OS OBJECT DEFINES')
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* INCLUDE FILES
*********************************************************************************************************
*/
#include <ucos_ii.h> /* See this 'net_os.h Note #1'. */
/*
*********************************************************************************************************
* EXTERNS
*********************************************************************************************************
*/
#ifdef NET_OS_MODULE
#define NET_OS_EXT
#else
#define NET_OS_EXT extern
#endif
/*$PAGE*/
/*
*********************************************************************************************************
* DEFINES
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* OS TASK/OBJECT NAME DEFINES
*********************************************************************************************************
*/
/* -------------------- TASK NAMES -------------------- */
#define NET_TMR_TASK_NAME "Net Timer Task"
#define NET_IF_RX_TASK_NAME "Net IF Rx Task"
#define NET_TMR_TASK_NAME_SIZE 15
#define NET_IF_RX_TASK_NAME_SIZE 15
#define NET_TASK_NAME_SIZE_MAX 15 /* Max of ALL net task name sizes. */
/* -------------------- OBJ NAMES --------------------- */
#define NET_INIT_NAME "Net Init Signal"
#define NET_LOCK_NAME "Net Global Lock"
#define NET_TX_SUSPEND_NAME "Net Tx Suspend"
#define NET_NIC_TX_RDY_NAME "Net NIC Tx Rdy"
#define NET_IF_RX_Q_NAME "Net IF Rx Queue"
#define NET_INIT_NAME_SIZE 16
#define NET_LOCK_NAME_SIZE 16
#define NET_NIC_TX_RDY_NAME_SIZE 15
#define NET_IF_RX_Q_NAME_SIZE 16
#define NET_OBJ_NAME_SIZE_MAX 16 /* Max of ALL net obj name sizes. */
/*
*********************************************************************************************************
* OS OBJECT DEFINES
*********************************************************************************************************
*/
#define NET_OS_NBR_SEM_NET_INIT 1
#define NET_OS_NBR_SEM_NET_LOCK 1
#if (NET_CFG_LOAD_BAL_EN == DEF_ENABLED)
#define NET_OS_NBR_SEM_NET_TX_SUSPEND 1
#else
#define NET_OS_NBR_SEM_NET_TX_SUSPEND 0
#endif
#define NET_OS_NBR_SEM_NET (NET_OS_NBR_SEM_NET_INIT + \
NET_OS_NBR_SEM_NET_LOCK + \
NET_OS_NBR_SEM_NET_TX_SUSPEND)
#define NET_OS_NBR_SEM_NIC 1
#define NET_OS_NBR_SEM_IF 1
#define NET_OS_NBR_SEM_TCP (2 * NET_TCP_CFG_NBR_CONN )
#define NET_OS_NBR_SEM_SOCK (4 * NET_SOCK_CFG_NBR_SOCK)
#define NET_OS_NBR_SEM (NET_OS_NBR_SEM_NET + \
NET_OS_NBR_SEM_NIC + \
NET_OS_NBR_SEM_IF + \
NET_OS_NBR_SEM_TCP + \
NET_OS_NBR_SEM_SOCK)
#define NET_OS_NBR_EVENTS NET_OS_NBR_SEM
/*$PAGE*/
/*
*********************************************************************************************************
* OS TIMEOUT DEFINES
*********************************************************************************************************
*/
#define NET_OS_TIMEOUT_MIN_TICK 1uL
#define NET_OS_TIMEOUT_MAX_TICK DEF_INT_16U_MAX_VAL
#define NET_OS_TIMEOUT_MIN_SEC 0uL
#if (OS_TICKS_PER_SEC > 0)
#define NET_OS_TIMEOUT_MAX_SEC (NET_OS_TIMEOUT_MAX_TICK / OS_TICKS_PER_SEC)
#else
#define NET_OS_TIMEOUT_MAX_SEC 0uL
#endif
#define NET_OS_TIMEOUT_MIN_MS (NET_OS_TIMEOUT_MIN_SEC * DEF_TIME_NBR_mS_PER_SEC)
#define NET_OS_TIMEOUT_MAX_MS (NET_OS_TIMEOUT_MAX_SEC * DEF_TIME_NBR_mS_PER_SEC)
/*$PAGE*/
/*
*********************************************************************************************************
* DATA TYPES
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* GLOBAL VARIABLES
*********************************************************************************************************
*/
/*
*********************************************************************************************************
* FUNCTION PROTOTYPES
*********************************************************************************************************
*/
/*$PAGE*/
/*
*********************************************************************************************************
* CONFIGURATION ERRORS
*********************************************************************************************************
*/
#if ((OS_TASK_NAME_SIZE > 0) && \
(OS_TASK_NAME_SIZE < NET_TASK_NAME_SIZE_MAX))
#error "OS_TASK_NAME_SIZE illegally #define'd in 'os_cfg.h' "
#error " [MUST be < 1]"
#error " [ || >= NET_TASK_NAME_SIZE_MAX]"
#endif
#if (NET_TMR_CFG_TASK_FREQ > OS_TICKS_PER_SEC)
#error "NET_TMR_CFG_TASK_FREQ illegally #define'd in 'net_cfg.h'"
#error " [MUST be < OS_TICKS_PER_SEC] "
#endif
#if ((OS_EVENT_NAME_SIZE > 0) && \
(OS_EVENT_NAME_SIZE < NET_OBJ_NAME_SIZE_MAX))
#error "OS_EVENT_NAME_SIZE illegally #define'd in 'os_cfg.h' "
#error " [MUST be < 1]"
#error " [ || >= NET_OBJ_NAME_SIZE_MAX]"
#endif
#if (OS_MAX_EVENTS < NET_OS_NBR_EVENTS)
#error "OS_MAX_EVENTS illegally #define'd in 'os_cfg.h' "
#error " [MUST be >= NET_OS_NBR_EVENTS ]"
#error " [(see 'net_os.h OS OBJECT DEFINES')]"
#endif
#if (OS_SEM_EN != 1)
#error "OS_SEM_EN illegally #define'd in 'os_cfg.h'"
#error " [MUST be 1] "
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -