?? net_conn.h
字號:
typedef CPU_INT16U NET_CONN_QTY; /* Defines max qty of conns to support. */
/*
*********************************************************************************************************
* NETWORK CONNECTION LIST QUANTITY DATA TYPE
*********************************************************************************************************
*/
typedef CPU_INT08U NET_CONN_LIST_QTY; /* Defines max qty of conn lists to support. */
/*
*********************************************************************************************************
* NETWORK CONNECTION LIST TYPE DATA TYPE
*********************************************************************************************************
*/
typedef CPU_INT08U NET_CONN_LIST_TYPE;
/*
*********************************************************************************************************
* NETWORK CONNECTION LIST INDEX DATA TYPE
*
* Note(s) : (1) NET_CONN_LIST_IX_NONE SHOULD be globally #define'd AFTER 'NET_CONN_LIST_IX' data type declared.
*********************************************************************************************************
*/
typedef CPU_INT08U NET_CONN_LIST_IX;
#define NET_CONN_LIST_IX_NONE DEF_INT_08U_MAX_VAL /* Define as max unsigned val (see Note #1). */
/*
*********************************************************************************************************
* NETWORK CONNECTION FAMILY DATA TYPE
*********************************************************************************************************
*/
typedef CPU_INT08U NET_CONN_FAMILY;
/*
*********************************************************************************************************
* NETWORK CONNECTION IDENTIFICATION DATA TYPE
*
* Note(s) : (1) The following Network Connection Module data type MUST be pre-#define'd in 'net_type.h'
* PRIOR to other network modules/layers that reference this data type (see 'net_type.h
* NETWORK CONNECTION MANAGEMENT DATA TYPES Note #1') :
*
* typedef CPU_INT16S NET_CONN_ID
*
* (2) (a) NET_CONN_NBR_MAX SHOULD be globally #define'd AFTER 'NET_CONN_ID' data type declared.
*
* (b) Since connection handle identifiers are data-typed as 16-bit signed integers, the
* maximum number of valid connection identifiers (i.e. non-negative) is the total
* number of positive values that 16-bit signed integers support.
*********************************************************************************************************
*/
#define NET_CONN_NBR_MAX DEF_INT_16S_MAX_VAL /* See Note #2. */
/*
*********************************************************************************************************
* NETWORK CONNECTION ADDRESS LENGTH DATA TYPE
*********************************************************************************************************
*/
typedef CPU_INT16U NET_CONN_ADDR_LEN;
/*$PAGE*/
/*
*********************************************************************************************************
* NETWORK CONNECTION DATA TYPE
*
* NET_CONN
* |-------------|
* | Conn Type |
* Previous |-------------|
* Connection <----------O |
* Link |-------------| Next
* | O----------> Connection
* Previous |-------------| Link
* Connection <----------O |
* |-------------| Next
* | O----------> Connection
* |-------------|
* | O----------> Connection
* |-------------| List
* | Connection |
* | Family |
* | Protocol |
* | Type |
* |-------------|
* | Conn IDs |
* |-------------|
* | Local |
* | Address |
* |-------------|
* | Remote |
* | Address |
* |-------------|
* | Accessed |
* | Counters |
* |-------------|
* | Flags |
* |-------------|
*
*
* Note(s) : (1) Forced word-alignment at start of connection NOT required since first data member 'Type'
* is declared as 'CPU_INT32U'.
*
* (2) 'PrevChainPtr'/'NextChainPtr'/'PrevConnPtr'/'NextConnPtr'/'ConnList' ideally declared as
* 'NET_CONN' pointers; declared as 'void' pointers because 'NET_CONN' NOT fully defined at
* time of declaration.
*********************************************************************************************************
*/
typedef struct net_conn {
NET_TYPE Type; /* Type cfg'd @ init : NET_CONN_TYPE_CONN. */
void *PrevChainPtr; /* Ptr to PREV conn list. */
void *NextChainPtr; /* Ptr to NEXT conn list. */
void *PrevConnPtr; /* Ptr to PREV conn. */
void *NextConnPtr; /* Ptr to NEXT conn. */
void **ConnList; /* Conn list. */
NET_CONN_FAMILY Family; /* Conn family. */
NET_CONN_LIST_IX ProtocolListIx; /* Conn protocol list ix. */
NET_CONN_LIST_TYPE ConnListType; /* Conn list type. */
NET_CONN_ID ID; /* Conn id. */
NET_CONN_ID ID_App; /* App layer conn id. */
NET_CONN_ID ID_AppClone; /* App layer conn id clone. */
NET_CONN_ID ID_Transport; /* Transport layer conn id. */
CPU_INT08U AddrLocal[NET_CONN_CFG_ADDR_LEN]; /* Conn local addr. */
CPU_BOOLEAN AddrLocalValid; /* Conn local addr valid flag. */
CPU_INT08U AddrRemote[NET_CONN_CFG_ADDR_LEN]; /* Conn remote addr. */
CPU_BOOLEAN AddrRemoteValid; /* Conn remote addr valid flag. */
CPU_INT16U ConnChainAccessedCtr; /* Nbr conn chain head accesses. */
CPU_INT16U ConnAccessedCtr; /* Nbr conn accesses (non-chain head). */
CPU_INT16U Flags; /* Conn flags. */
} NET_CONN;
/*$PAGE*/
/*
*********************************************************************************************************
* GLOBAL VARIABLES
*********************************************************************************************************
*/
NET_CONN_EXT NET_CONN NetConn_Tbl[NET_CONN_CFG_NBR_CONN];
NET_CONN_EXT NET_CONN *NetConn_PoolPtr; /* Ptr to pool of free net conns. */
NET_CONN_EXT NET_STAT_POOL NetConn_PoolStat;
/* Arrays of ptrs to net conn lists. */
NET_CONN_EXT NET_CONN *NetConn_ServerConnListHead[NET_CONN_CFG_PROTOCOL_MAX];
NET_CONN_EXT NET_CONN *NetConn_ClientConnListHead[NET_CONN_CFG_PROTOCOL_MAX];
NET_CONN_EXT NET_CONN *NetConn_ConnListChainPtr; /* Ptr to cur conn list chain to update. */
NET_CONN_EXT NET_CONN *NetConn_ConnListConnPtr; /* Ptr to cur conn list conn to update. */
NET_CONN_EXT NET_CONN *NetConn_ConnListNextChainPtr; /* Ptr to next conn list chain to update. */
NET_CONN_EXT NET_CONN *NetConn_ConnListNextConnPtr; /* Ptr to next conn list conn to update. */
NET_CONN_EXT CPU_INT16U NetConn_AccessedTh_nbr; /* Nbr successful srch's to promote net conns. */
/* Conn addr wildcard cfg. */
NET_CONN_EXT CPU_BOOLEAN NetConn_AddrWildCardAvail;
NET_CONN_EXT CPU_INT08U NetConn_AddrWildCard[NET_CONN_CFG_ADDR_LEN];
#if (NET_CTR_CFG_ERR_EN == DEF_ENABLED) /* ---------------- NET CONN ERRS ----------------- */
NET_CONN_EXT NET_CTR NetConn_ErrNoneAvailCtr; /* Nbr net conns unavail. */
NET_CONN_EXT NET_CTR NetConn_ErrNotUsedCtr; /* Nbr unused net conn accesses. */
NET_CONN_EXT NET_CTR NetConn_ErrCloseCtr; /* Nbr net conn closes. */
NET_CONN_EXT NET_CTR NetConn_ErrInvalidConnCtr; /* Nbr net conns with invalid addr. */
NET_CONN_EXT NET_CTR NetConn_ErrInvalidConnAddrLenCtr; /* Nbr net conns with invalid addr len. */
NET_CONN_EXT NET_CTR NetConn_ErrInvalidConnAddrInUseCtr; /* Nbr net conns with addr already in use. */
NET_CONN_EXT NET_CTR NetConn_ErrInvalidFamilyCtr; /* Nbr net conns with invalid conn family. */
NET_CONN_EXT NET_CTR NetConn_ErrInvalidListTypeCtr; /* Nbr net conn lists with invalid type. */
NET_CONN_EXT NET_CTR NetConn_ErrInvalidListIxCtr; /* Nbr net conn lists with invalid ix. */
#if (NET_ERR_CFG_ARG_CHK_DBG_EN == DEF_ENABLED)
NET_CONN_EXT NET_CTR NetConn_ErrNullPtrCtr; /* Nbr null net conn accesses. */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -