📄 protinit.c
字号:
PROT_TCP_Timer_Init(); /* init new timer stuff */
ARP_Init(); /* ARP packets */
ICMP_Init(); /* ping packets */
IP_Initialize(); /* ip packets */
PROT_TCP_Init(); /* tcp packets */
#if (INCLUDE_UDP == NU_TRUE)
PROT_UDP_Init(); /* udp packets */
#endif
#if (INCLUDE_IP_RAW == NU_TRUE)
PROT_IPRaw_Init(); /* raw ip packets */
#endif
RTAB_Init();
#if (INCLUDE_DHCP == NU_TRUE)
if (DHCP_Initialize() != NU_SUCCESS)
return NU_DHCP_INIT_FAILED;
#endif
#if (defined(SNMP_VER) == NU_TRUE)
NU_SNMP_Initialize();
#endif
return (DNS_Initialize());
} /* end PROT_Protocol_Init() */
#if (INCLUDE_UDP == NU_TRUE)
/*************************************************************************
*
* FUNCTION
*
* PROT_UDP_Init
*
* DESCRIPTION
*
* Initialize the UDP layer.
*
* INPUTS
*
* None.
*
* OUTPUTS
*
* None.
*
*************************************************************************/
static VOID PROT_UDP_Init (VOID)
{
/* Zero out the UDP portlist. */
UTL_Zero((CHAR *)UDP_Ports, sizeof(UDP_Ports));
} /* end PROT_UDP_Init() */
#endif /* INCLUDE_UDP == NU_TRUE */
/*************************************************************************
*
* FUNCTION
*
* PROT_TCP_Init
*
* DESCRIPTION
*
* Setup for TCP_Make_Port ()
*
* INPUTS
*
* None.
*
* OUTPUTS
*
* None
*
*************************************************************************/
static VOID PROT_TCP_Init(VOID)
{
INT i;
INT j = 1;
#if (INCLUDE_TCP == NU_TRUE)
/* Zero out the TCP port list. */
UTL_Zero((CHAR *)TCP_Ports, sizeof(TCP_Ports));
tasks_waiting_to_send = 0;
#endif /* INCLUDE_TCP == NU_TRUE */
NERRS_Avail_Index = 0;
/* Initialize the TCP retransmit backoff array. */
/* Store 1, 2, 4, 8, 16, 32, 64, 64, 64, ... into TCP_Backoff[] array */
for (i = 0; i < (TCP_MAX_BACKOFFS + 1); i++)
{
TCP_Backoff[i] = j;
if (j != 64)
j *= 2;
}
#if (INCLUDE_TCP == NU_TRUE)
/* Init the ACK timeout for TCP connections, the default value
is 1/5 of a second. */
TCP_ACK_Timeout = (SCK_Ticks_Per_Second / 5);
#endif
} /* end PROT_TCP_Init() */
#if INCLUDE_IP_RAW
/*************************************************************************
*
* FUNCTION
*
* PROT_IPRaw_Init
*
* DESCRIPTION
*
* Setup for IPRaw_Make_Port ()
*
* INPUTS
*
* None
*
* OUTPUTS
*
* None
*
*************************************************************************/
static VOID PROT_IPRaw_Init(VOID)
{
/* Zero out the TCP port list. */
UTL_Zero((CHAR *)IPR_Ports, sizeof(IPR_Ports));
} /* end PROT_IPRaw_Init() */
#endif
/*************************************************************************
*
* FUNCTION
*
* PROT_Net_Init
*
* DESCRIPTION
*
* Handles all the initialization to bring up the network connection
* Assumes that the configuration file has already been read up.
*
* Returns 0 on successful initialization.
*
* INPUTS
*
* None
*
* OUTPUTS
*
* None
*
*************************************************************************/
STATUS PROT_Net_Init (void)
{
STATUS ret;
/*
* Initializes all buffers protocol layers.
*/
/* Initialize/allocate Memory Buffers. */
if ( (ret = MEM_Init()) != NU_SUCCESS )
{
NERRS_Log_Error (NERR_RECOVERABLE, __FILE__, __LINE__);
return (ret);
} /* end if */
/* Initialize the various protocol modules. */
if ( (ret = PROT_Protocol_Init()) != NU_SUCCESS )
{
NERRS_Log_Error ( NERR_RECOVERABLE, __FILE__, __LINE__);
return (ret);
}
return (NU_SUCCESS);
} /* end PROT_Net_Init() */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -