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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dhcpcboot.c

?? vxworks的完整的源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
    (    void    )    {    time_t	curr_epoch = 0;    struct sockaddr_in dest;    BOOL bcastFlag;    if (dhcpTime (&curr_epoch) == -1)        return (-1);    /* Update the appropriate fields in the current DHCP message. */    if (dhcpcCurrState != REQUESTING)        dhcpcMsgOut.dhcp->secs = htons (curr_epoch -                                        dhcpcBootLeaseData.initEpoch);    dhcpcMsgOut.udp->uh_sum = 0;    dhcpcMsgOut.udp->uh_sum = udp_cksum (&spudph, (char *)dhcpcMsgOut.udp,                                          ntohs (spudph.ulen));    /*     * Retransmit the message. Set the flag to use a link-level broadcast     * address if needed (prevents ARP messages if using Ethernet devices).     */    bzero ( (char *)&dest, sizeof (struct sockaddr_in));    dest.sin_len = sizeof (struct sockaddr_in);    dest.sin_family = AF_INET;    dest.sin_addr.s_addr = dhcpcMsgOut.ip->ip_dst.s_addr;    if (dest.sin_addr.s_addr == 0xffffffff)        bcastFlag = TRUE;    else        bcastFlag = FALSE;    if (dhcpSend (dhcpcBootLeaseData.ifData.iface, &dest,                   sbuf.buf, dhcpcMsgLength, bcastFlag)           == ERROR)        return (-2);    return(0);    }/********************************************************************************* retrans_wait_offer - retransmission in WAIT_OFFER state** This routine retransmits the DHCP discover message when the timeout interval * for receiving an initial lease offer expires. It is called in response* to a watchdog timer at intervals specified by the wait_offer() routine.** RETURNS: N/A** ERRNO: N/A** NOMANUAL*/LOCAL void retrans_wait_offer    (    int unused 		/* unused watchdog argument */    )    {    int status;    if (dhcpcCurrState != WAIT_OFFER)        return;    /* Construct and send a timeout message to the finite state machine. */    status = dhcpcEventAdd (DHCP_AUTO_EVENT, DHCP_TIMEOUT, NULL, TRUE);#ifdef DHCPC_DEBUG    if (status == ERROR)        logMsg ("Can't notify state machine\n", 0, 0, 0, 0, 0, 0);#endif    return;    }/********************************************************************************* alarm_selecting - signal when collection time expires ** This routine sends a timeout notification to the finite state machine * when the interval for collecting additional DHCP offers has expired. It * is called in response to a watchdog timer schedule by the selecting()* routine. The timeout causes the state machine to advance to the REQUESTING* state.** RETURNS: N/A** ERRNO: N/A** NOMANUAL*/LOCAL void alarm_selecting    (    int unused 		/* unused watchdog argument */    )    {    int 	status;    if (dhcpcCurrState == SELECTING)         {        /* Construct and send a timeout message to the finite state machine. */        status = dhcpcEventAdd (DHCP_AUTO_EVENT, DHCP_TIMEOUT, NULL, TRUE);#ifdef DHCPC_DEBUG        if (status == ERROR)            logMsg ("Can't notify state machine\n", 0, 0, 0, 0, 0, 0);#endif        }    return;    }/********************************************************************************* retrans_requesting - retransmission in requesting state** This routine retransmits the DHCP request message when the timeout interval * for receiving a server reply expires. It is called in response to a watchdog * timer at intervals specified by the requesting() routine.** RETURNS: N/A** ERRNO: N/A** NOMANUAL*/LOCAL void retrans_requesting    (    int unused 		/* unused watchdog argument */    )    {    int		status;    if (dhcpcCurrState != REQUESTING)        return;    /* Construct and send a timeout message to the finite state machine. */    status = dhcpcEventAdd (DHCP_AUTO_EVENT, DHCP_TIMEOUT, NULL, TRUE);#ifdef DHCPC_DEBUG    if (status == ERROR)        logMsg ("Can't notify state machine\n", 0, 0, 0, 0, 0, 0);#endif    return;    }/********************************************************************************* dhcpcBootInforming - external configuration state of boot-time state machine** This routine begins the inform message process, which obtains additional* parameters for a host configured with an external address. This processing* is isolated from the normal progression through the state machine. Like the* DHCP discover message, the inform message is the first transmission.* However, the only valid response is an acknowledgement by a server. As a* result, the process is a hybrid between the implementations of the initial * state and the requesting state which finalizes the lease establishment.* This routine implements the initial state of the finite state machine for* an externally assigned IP address.** RETURNS: Next state of state machine, or -1 if error.** ERRNO: N/A** NOMANUAL*/LOCAL int dhcpcBootInforming    (    void    )    {    struct sockaddr_in 	dest;    bzero (sbuf.buf, sbuf.size);#ifdef DHCPC_DEBUG    logMsg("dhcpc: Entered INFORM state.\n", 0, 0, 0, 0, 0, 0);#endif    /* Create and broadcast DHCP INFORM message. */    dhcpcMsgLength = make_request (dhcpcBootParam, INFORMING);    if (dhcpcMsgLength < 0)        {#ifdef DHCPC_DEBUG        logMsg ("Error making DHCP inform message. Can't continue.\n",                0, 0, 0, 0, 0, 0);#endif        return (-1);        }    dhcpcMsgOut.dhcp->secs = 0;    dhcpcMsgOut.udp->uh_sum = 0;    dhcpcMsgOut.udp->uh_sum = udp_cksum (&spudph, (char *)dhcpcMsgOut.udp,                                          ntohs (spudph.ulen));#ifdef DHCPC_DEBUG    logMsg ("Sending DHCPINFORM\n", 0, 0, 0, 0, 0, 0);#endif    /*     * Retransmit the message using a link-level broadcast address, which     * prevents ARP messages if using Ethernet devices and allows transmission     * from interfaces without assigned IP addresses.     */    bzero ( (char *)&dest, sizeof (struct sockaddr_in));    dest.sin_len = sizeof (struct sockaddr_in);    dest.sin_family = AF_INET;    dest.sin_addr.s_addr = dhcpcMsgOut.ip->ip_dst.s_addr;    if (dhcpSend (dhcpcIntface.iface, &dest, sbuf.buf, dhcpcMsgLength, TRUE)           == ERROR)        {#ifdef DHCPC_DEBUG        logMsg("Can't send DHCPINFORM\n", 0, 0, 0, 0, 0, 0);#endif        return (-1);        }    /* Set retransmission timer to randomized exponential backoff. */    dhcpcBootLeaseData.timeout = FIRSTTIMER;    dhcpcBootLeaseData.numRetry = 0;    wdStart (dhcpcBootLeaseData.timer, sysClkRateGet() *                                  SLEEP_RANDOM (dhcpcBootLeaseData.timeout),             (FUNCPTR)retrans_requesting, 0);    return (REQUESTING);	/* Next state is REQUESTING */    }/********************************************************************************* dhcpcBootInitState - initial state of boot-time client finite state machine** This routine implements the initial state of the finite state machine. * After a random backoff delay, it broadcasts a DHCP discover message. This * state may be re-entered after a later state if a recoverable error occurs.** RETURNS: Next state of state machine, or -1 if error.** ERRNO: N/A** NOMANUAL*/LOCAL int dhcpcBootInitState    (    void    )    {    struct sockaddr_in 	dest;    bzero (sbuf.buf, sbuf.size);#ifdef DHCPC_DEBUG    logMsg("dhcpc: Entered INIT state.\n", 0, 0, 0, 0, 0, 0);#endif    /*     * Set lease to generate newer RFC 2131 messages initially. The client     * will revert to the older message format if it does not receive a     * response to the initial set of discover messages. Older servers might     * ignore messages less than the minimum length obtained with a fixed     * options field. The older format pads the field to reach that length.     */    dhcpcOldFlag = FALSE;    wdCancel (dhcpcBootLeaseData.timer);	/* Reset watchdog timer. */    dhcpcMsgLength = make_discover ();    /* Create DHCP_DISCOVER message. */    /*      * Random delay from one to ten seconds to avoid startup congestion.     * (Delay length specified in RFC 1541).     *     */    taskDelay (sysClkRateGet () * (1 + (rand () % INIT_WAITING)) );    dhcpcMsgOut.dhcp->secs = 0;    dhcpcMsgOut.udp->uh_sum = 0;    dhcpcMsgOut.udp->uh_sum = udp_cksum (&spudph, (char *)dhcpcMsgOut.udp,                                          ntohs (spudph.ulen));#ifdef DHCPC_DEBUG    logMsg ("Sending DHCPDISCOVER\n", 0, 0, 0, 0, 0, 0);#endif    /*     * Retransmit the message using a link-level broadcast address, which     * prevents ARP messages if using Ethernet devices and allows transmission     * from interfaces without assigned IP addresses.     */    bzero ( (char *)&dest, sizeof (struct sockaddr_in));    dest.sin_len = sizeof (struct sockaddr_in);    dest.sin_family = AF_INET;    dest.sin_addr.s_addr = dhcpcMsgOut.ip->ip_dst.s_addr;    if (dhcpSend (dhcpcIntface.iface, &dest, sbuf.buf, dhcpcMsgLength, TRUE)            == ERROR)        {#ifdef DHCPC_DEBUG        logMsg("Can't send DHCPDISCOVER\n", 0, 0, 0, 0, 0, 0);#endif        return (-1);        }    dhcpcBootLeaseData.timeout = FIRSTTIMER;    dhcpcBootLeaseData.numRetry = 0;    if (dhcpTime (&dhcpcBootLeaseData.initEpoch) == -1)        {#ifdef DHCPC_DEBUG        logMsg ("time() error setting initEpoch\n", 0, 0, 0, 0, 0, 0);#endif        return (ERROR);        }    /* Set timer to randomized exponential backoff before retransmission. */    wdStart (dhcpcBootLeaseData.timer, sysClkRateGet() *                                  SLEEP_RANDOM (dhcpcBootLeaseData.timeout),             (FUNCPTR)retrans_wait_offer, 0);    return (WAIT_OFFER);	/* Next state is WAIT_OFFER */    }/********************************************************************************* dhcpcBootWaitOffer - Initial offering state of client finite state machine** This routine implements the initial part of the second state of the finite * state machine. It waits until the current timeout value to receive a lease * offer from  a DHCP server. If a timeout occurs, the DHCP offer message is * retransmitted.** RETURNS: Next state of state machine, or -1 if error.** ERRNO: N/A** NOMANUAL*/LOCAL int dhcpcBootWaitOffer    (    void    )    {    int			arpans = 0;    char		errmsg [255];    char * 		pOption;    int 		timer = 0;    int 		retry = 0;    struct dhcp_param *	pParams = NULL;    char * 		pMsgData;    int 		status;    EVENT_DATA 		msgEvent;    bzero (errmsg, sizeof (errmsg));#ifdef DHCPC_DEBUG    logMsg ("dhcpc: Entered WAIT_OFFER state.\n", 0, 0, 0, 0, 0, 0);#endif    if (dhcpcPrevState == INIT)         {        /* Clear any previous parameter settings. */        if (dhcpcBootParam != NULL)            {            clean_param (dhcpcBootParam);            free (dhcpcBootParam);            dhcpcBootParam = NULL;            }        }    /* Wait for message or retransmission. */    semTake (dhcpcEventSem, WAIT_FOREVER);     status = rngBufGet (dhcpcEventRing, (char *)&msgEvent, sizeof (msgEvent));    if (status != sizeof (msgEvent))        {        /* Expected event missing or incomplete - remain in current state. */#ifdef DHCPC_DEBUG        logMsg ("dhcpWaitOffer: Notification error.\n", 0, 0, 0, 0, 0, 0);#endif        return (WAIT_OFFER);        }    if (msgEvent.type == DHCP_TIMEOUT)        {        /* Handle timeout - no DHCP offers received yet. */        retry = dhcpcBootLeaseData.numRetry;        timer = dhcpcBootLeaseData.timeout;        retry++;        if (retry == DISCOVER_RETRANS)	            {#ifdef DHCPC_DEBUG            logMsg ("No lease offers received by client.\n", 0, 0, 0, 0, 0, 0);#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品福利在线播放| 亚洲日本一区二区| 亚洲日本在线a| 国产专区综合网| 欧美精品vⅰdeose4hd| 国产午夜精品在线观看| 日精品一区二区| 91视频一区二区三区| 日韩欧美一二区| 一区二区三区四区亚洲| 国产精品一级二级三级| 91精品国产综合久久福利软件| 亚洲国产高清不卡| 免费观看91视频大全| 日本乱码高清不卡字幕| 国产精品久久久久久久久免费樱桃 | 久久一区二区三区四区| 婷婷中文字幕一区三区| 91在线免费视频观看| 国产欧美一区在线| 国产一区二区按摩在线观看| 91麻豆精品国产91久久久久| 亚洲一区二区三区视频在线 | 日本高清免费不卡视频| 亚洲国产精品成人综合色在线婷婷| 激情六月婷婷久久| 精品国产免费视频| 麻豆精品新av中文字幕| 日韩欧美亚洲一区二区| 捆绑紧缚一区二区三区视频| 日韩一级免费观看| 精品一区二区成人精品| www成人在线观看| 国产精品一色哟哟哟| 精品粉嫩aⅴ一区二区三区四区| 久久av中文字幕片| 26uuu亚洲| 粉嫩久久99精品久久久久久夜| 国产亚洲短视频| 不卡av在线免费观看| 亚洲色图另类专区| 欧美日韩一级黄| 青青草97国产精品免费观看无弹窗版 | 日韩欧美一级二级三级久久久| 久久精品久久久精品美女| 精品国产髙清在线看国产毛片| 国产在线精品一区二区不卡了| 久久你懂得1024| 91丨九色porny丨蝌蚪| 亚洲图片自拍偷拍| 日韩视频免费观看高清完整版 | 国产精品少妇自拍| 色综合色综合色综合| 亚洲sss视频在线视频| 日韩一区二区三区电影在线观看| 精品一区二区在线播放| 国产精品女同一区二区三区| 日本精品裸体写真集在线观看 | 精品噜噜噜噜久久久久久久久试看 | 91免费在线视频观看| 亚洲高清在线精品| 久久久久99精品国产片| 一本色道a无线码一区v| 蜜乳av一区二区三区| 国产日韩精品一区二区三区| 日本久久一区二区| 国产最新精品精品你懂的| 亚洲欧洲日产国产综合网| 欧美高清激情brazzers| 成人自拍视频在线| 日本成人在线不卡视频| 国产精品毛片无遮挡高清| 欧美综合天天夜夜久久| 国产麻豆精品在线| 香港成人在线视频| 国产精品久久久久aaaa樱花| 欧美老女人第四色| 99精品热视频| 国产综合色产在线精品 | 亚洲天堂2016| 久久精品免视看| 欧美日韩不卡一区| 99精品视频中文字幕| 精品一区二区三区视频在线观看 | 日韩不卡一区二区三区| 中文字幕一区二区三区不卡| 91精品婷婷国产综合久久 | 欧美一区二区视频在线观看 | 亚洲国产视频在线| 国产精品久线在线观看| 欧美videofree性高清杂交| 欧美在线不卡一区| 99热这里都是精品| 国产二区国产一区在线观看| 另类小说欧美激情| 日欧美一区二区| 香蕉久久一区二区不卡无毒影院| 中文字幕一区二区三区精华液| 久久久激情视频| 精品国产1区二区| 日韩亚洲欧美综合| 717成人午夜免费福利电影| 91官网在线观看| 一本色道久久综合亚洲精品按摩| 波多野结衣在线aⅴ中文字幕不卡| 国产一区视频导航| 国产永久精品大片wwwapp| 久久疯狂做爰流白浆xx| 激情伊人五月天久久综合| 日本aⅴ精品一区二区三区| 午夜精品一区在线观看| 亚洲国产精品视频| 午夜精品久久久久影视| 亚洲成人免费电影| 日韩高清不卡在线| 男女男精品网站| 久久99热这里只有精品| 激情欧美一区二区三区在线观看| 久久精品国产秦先生| 极品美女销魂一区二区三区 | 欧美日韩中文字幕一区| 91黄色激情网站| 欧美在线小视频| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲欧美激情小说另类| 亚洲黄色av一区| 亚洲成av人**亚洲成av**| 日韩精品每日更新| 久久国产福利国产秒拍| 国产麻豆精品在线观看| 99精品视频在线播放观看| 精品视频在线免费观看| 欧美一区二区在线不卡| 国产欧美一区二区三区在线看蜜臀 | 972aa.com艺术欧美| 91国内精品野花午夜精品| 正在播放亚洲一区| 欧美精品一区二区三| 国产精品乱人伦一区二区| 亚洲综合色丁香婷婷六月图片| 午夜激情综合网| 国产精品1区2区3区在线观看| 粉嫩av亚洲一区二区图片| 日本乱人伦aⅴ精品| 日韩一区二区免费视频| 国产精品三级视频| 一区二区三区精品在线观看| 精品一区二区三区香蕉蜜桃| 91美女精品福利| 欧美本精品男人aⅴ天堂| 国产精品久久久久影院老司| 视频一区二区三区在线| 成人性生交大合| 欧美乱熟臀69xxxxxx| 亚洲国产成人午夜在线一区 | 亚洲一区二区黄色| 国产一区二区三区最好精华液 | 95精品视频在线| 精品盗摄一区二区三区| 一级中文字幕一区二区| 国产乱人伦偷精品视频免下载| 日本二三区不卡| 久久先锋影音av| 亚洲成人777| 色诱视频网站一区| 久久婷婷综合激情| 视频一区二区中文字幕| 91日韩精品一区| 国产清纯白嫩初高生在线观看91| 日韩国产高清在线| 91国内精品野花午夜精品 | www精品美女久久久tv| 亚洲一级二级三级| 99精品久久久久久| 国产无人区一区二区三区| 久久精品国产99| 在线播放日韩导航| 亚洲电影激情视频网站| 国模冰冰炮一区二区| 色视频欧美一区二区三区| 精品av久久707| 蜜桃视频第一区免费观看| 7777女厕盗摄久久久| 久久福利视频一区二区| 欧美一级片在线观看| 日韩电影一区二区三区| 欧美一个色资源| 国产美女视频一区| 一区二区在线观看免费视频播放| 日本精品视频一区二区三区| 在线视频一区二区免费| 国产精品欧美综合在线| 成人黄色电影在线 | 成人精品鲁一区一区二区| 久久午夜色播影院免费高清| 美女视频网站久久| 日韩免费看的电影| 国内久久精品视频| 国产农村妇女精品| 国产成人av资源|