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

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

?? dhcpcshow.c

?? 操作系統開發,vxwork操作系統源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* dhcpcShow.c - DHCP run-time client information display routines *//* Copyright 1984 - 2001 Wind River Systems, Inc.  */#include "copyright_wrs.h"/*modification history--------------------01q,12may02,kbw  man page edits01p,10may02,kbw  making man page edits01o,23apr02,wap  use dhcpTime() instead of time() (SPR #68900)01n,15oct01,rae  merge from truestack ver 01m, base 01l01m,16oct00,niq  Integrating T3 DHCP01l,17jan98,kbw  removed NOMANUAL from dhcpcShowInit()01k,14dec97,kbw  making minor man page fixes01j,10dec97,kbw  making minor man page fixes01i,04dec97,spm  added code review modifications01h,21oct97,kbw  making minor man page fixes01g,26aug97,spm  major overhaul: changed user interface to support multiple                  leases at run-time; changed function names and renamed                 module to comply with coding standards01f,06aug97,spm  removed parameters linked list to reduce memory required01e,30jul97,kbw  fixed man page problems found in beta review01d,02jun97,spm  updated man pages and added ERRNO entries01c,17apr97,kbw  fixed minor format errors in man page, spell-checked01b,07apr97,spm  corrected array indexing bugs, modified displayed parameter                  descriptions, rewrote documentation01a,31jan97,spm  created by extracting routines from netShow.c*//*DESCRIPTIONThis library provides routines that display various data related tothe DHCP run-time client library such as the lease timers and responding server.  The dhcpcShowInit() routine links the show facility into the VxWorksimage.  This happens automatically if INCLUDE_NET_SHOW and INCLUDE_DHCPC are defined at the time the image is built.INCLUDE FILES: dhcpcLib.hSEE ALSO: dhcpcLib*/#include <stdio.h>#include "vxWorks.h"#include "inetLib.h"#include "dhcpcLib.h"#include "dhcp/dhcpcCommonLib.h"#include "dhcp/dhcpcStateLib.h"#include "time.h"IMPORT SEM_ID           dhcpcMutexSem;   /* protects the status indicators *//* forward declarations */STATUS dhcpcServerShow (void *);STATUS dhcpcTimersShow (void *);STATUS dhcpcParamsShow (void *);/******************************************************************************** dhcpcShowInit - initialize the DHCP show facility** This routine links the DHCP show facility into the VxWorks system image. * It is called from usrNetwork.c automatically if INCLUDE_DHCP and * INCLUDE_NET_SHOW are defined at the time the image is constructed.**/void dhcpcShowInit (void)    {    return;    }/********************************************************************************* dhcpcServerShow - display current DHCP server** This routine prints the IP address of the DHCP server that provided the * parameters for the lease identified by <pCookie>.  It has no effect if the* indicated lease is not currently active.** RETURNS: OK, or ERROR if lease identifier unknown.** ERRNO: *  S_dhcpcLib_BAD_COOKIE**/STATUS dhcpcServerShow     (    void * 	pCookie 	/* identifier returned by dhcpcInit() */    )    {    int 		offset;    LEASE_DATA * 	pLeaseData = NULL;    char 		addrBuf [INET_ADDR_LEN];    STATUS 		result = OK;    /*     * Use the cookie to access the lease-specific data structures.  For now,     * just typecast the cookie.  This translation could be replaced with a more     * sophisticated lookup at some point.     */    pLeaseData = (LEASE_DATA *)pCookie;    for (offset = 0; offset < dhcpcMaxLeases; offset++)        if (dhcpcLeaseList [offset] != NULL &&                dhcpcLeaseList [offset] == pLeaseData)            break;    if (offset == dhcpcMaxLeases)        {        errno = S_dhcpcLib_BAD_COOKIE;        return (ERROR);        }    /* Ignore show request if lease is not initialized or not bound.  */    if (!dhcpcInitialized || !pLeaseData->initFlag)        return (OK);    semTake (dhcpcMutexSem, WAIT_FOREVER);    if (!pLeaseData->leaseGood)        result = ERROR;    semGive (dhcpcMutexSem);    if (result == ERROR)        return (OK);    if (pLeaseData->leaseType == DHCP_BOOTP)        {        printf ("DHCP server (BOOTP proxy): ");         inet_ntoa_b (pLeaseData->dhcpcParam->siaddr, addrBuf);        printf ("%-18s\n", addrBuf);        return (OK);        }    printf ("DHCP server: ");    inet_ntoa_b (pLeaseData->dhcpcParam->server_id, addrBuf);    printf("%-18s\n", addrBuf);    return (OK);    }/********************************************************************************* dhcpcTimersShow - display current lease timers** This routine prints the time remaining with each of the DHCP lease timers* for the lease identified by <pCookie>.  It has no effect if the indicated* lease is not currently active.** RETURNS: OK if show routine completes, or ERROR otherwise.** ERRNO: *  S_dhcpcLib_BAD_COOKIE**/STATUS dhcpcTimersShow    (    void * 	pCookie 	/* identifier returned by dhcpcInit() */    )    {    int 		offset;    LEASE_DATA * 	pLeaseData = NULL;    STATUS 		result = OK;    time_t current = 0;    long t1;    long t2;    /*     * Use the cookie to access the lease-specific data structures.  For now,     * just typecast the cookie.  This translation could be replaced with a more     * sophisticated lookup at some point.     */    pLeaseData = (LEASE_DATA *)pCookie;    for (offset = 0; offset < dhcpcMaxLeases; offset++)        if (dhcpcLeaseList [offset] != NULL &&                dhcpcLeaseList [offset] == pLeaseData)            break;    if (offset == dhcpcMaxLeases)        {        errno = S_dhcpcLib_BAD_COOKIE;        return (ERROR);        }    /* Ignore show request if lease is not initialized or not bound.  */    if (!dhcpcInitialized || !pLeaseData->initFlag)        return (OK);    semTake (dhcpcMutexSem, WAIT_FOREVER);    if (!pLeaseData->leaseGood)        result = ERROR;    semGive (dhcpcMutexSem);    if (result == ERROR)        return (OK);    if (pLeaseData->leaseType == DHCP_BOOTP)        {        printf ("No timer values: BOOTP reply accepted.\n");        return (OK);        }     if (dhcpTime (&current) == -1)        {        printf ("time() error in dhcpcTimerShow() routine.\n");        return (ERROR);        }    t1 = pLeaseData->dhcpcParam->lease_origin +              pLeaseData->dhcpcParam->dhcp_t1 - current;    t2 = pLeaseData->dhcpcParam->lease_origin +              pLeaseData->dhcpcParam->dhcp_t2 - current;       if (t1 <= 0)        printf ("Timer T1 expired.\n");    else        printf ("Timer T1: %ld seconds remaining.\n", t1);       if (t2 <= 0)        printf ("Timer T2 expired.\n");    else        printf ("Timer T2: %ld seconds remaining.\n", t2);    return (OK);    }/******************************************************************************** dhcpcParamsShow - display current lease parameters** This routine prints all lease parameters for the lease identified by * <pCookie>.  It has no effect if the indicated lease is not currently active.* * RETURNS: OK, or ERROR if lease identifier unknown.** ERRNO: *  S_dhcpcLib_BAD_COOKIE**/STATUS dhcpcParamsShow    (    void * 	pCookie 	/* identifier returned by dhcpcInit() */    )    {    int 		offset;    LEASE_DATA * 	pLeaseData = NULL;    STATUS 		result = OK;    int loop;    struct dhcp_param * 	pDhcpcParam;    char addrBuf [INET_ADDR_LEN];    /*     * Use the cookie to access the lease-specific data structures.  For now,     * just typecast the cookie.  This translation could be replaced with a more     * sophisticated lookup at some point.     */    pLeaseData = (LEASE_DATA *)pCookie;    for (offset = 0; offset < dhcpcMaxLeases; offset++)        if (dhcpcLeaseList [offset] != NULL &&                dhcpcLeaseList [offset] == pLeaseData)            break;    if (offset == dhcpcMaxLeases)        {        errno = S_dhcpcLib_BAD_COOKIE;        return (ERROR);        }    /* Ignore show request if lease is not initialized or not bound.  */    if (!dhcpcInitialized || !pLeaseData->initFlag)        return (OK);    semTake (dhcpcMutexSem, WAIT_FOREVER);    if (!pLeaseData->leaseGood)        result = ERROR;    semGive (dhcpcMutexSem);    if (result == ERROR)        return (OK);    if (pLeaseData->leaseType == DHCP_BOOTP)        {        printf ("No parameter values: BOOTP reply accepted.\n");        return (OK);        }    pDhcpcParam = pLeaseData->dhcpcParam;    /* Print any string parameters.  */    if (pDhcpcParam->sname != NULL)        printf ("DHCP server name: %s\n", pDhcpcParam->sname);     if (pDhcpcParam->file != NULL)        printf ("Boot file name: %s\n", pDhcpcParam->file);    if (pDhcpcParam->hostname != NULL)        printf ("DHCP client name: %s\n", pDhcpcParam->hostname);    if (pDhcpcParam->merit_dump != NULL)        printf ("Merit dump file: %s\n", pDhcpcParam->merit_dump);    if (pDhcpcParam->dns_domain != NULL)        printf ("DNS domain name: %s\n", pDhcpcParam->dns_domain);    if (pDhcpcParam->root_path != NULL)        printf ("Client root path: %s\n", pDhcpcParam->root_path);    if (pDhcpcParam->extensions_path != NULL)        printf ("Options extension path: %s\n", pDhcpcParam->extensions_path);    if (pDhcpcParam->nis_domain != NULL)        printf ("NIS domain: %s\n", pDhcpcParam->nis_domain);    if (pDhcpcParam->nb_scope != NULL)        printf ("NetBIOS over TCP/IP scope: %s\n", pDhcpcParam->nb_scope);    if (pDhcpcParam->errmsg != NULL)        printf ("Error message: %s\n", pDhcpcParam->errmsg);    if (pDhcpcParam->nisp_domain != NULL)        printf ("NIS+ domain: %s\n", pDhcpcParam->nisp_domain);    /* Print all TRUE boolean parameters.  */    if (pDhcpcParam->ip_forward)        printf ("IP forwarding enabled.\n");    if (pDhcpcParam->nonlocal_srcroute)        printf ("Non-local source route forwarding enabled.\n");    if (pDhcpcParam->all_subnet_local)        printf ("All subnets are local is TRUE.\n");     if (pDhcpcParam->mask_discover)        printf ("ICMP mask discovery enabled.\n");    if (pDhcpcParam->mask_supplier)        printf ("ICMP mask supplier is TRUE.\n");    if (pDhcpcParam->router_discover)        printf ("Router discovery enabled.\n");    if (pDhcpcParam->trailer)        printf ("ARP trailers enabled.\n");      if (pDhcpcParam->ether_encap)        printf ("RFC 1042 Ethernet encapsulation enabled.\n");    else        printf ("RFC 894 Ethernet encapsulation enabled.\n");    if (pDhcpcParam->keepalive_garba)        printf ("TCP keepalive garbage octet enabled.\n");    /* Print all non-zero single numeric parameters.  */    if (pDhcpcParam->time_offset != 0)        printf ("Client time offset: %ld\n", pDhcpcParam->time_offset);    if (pDhcpcParam->bootsize != 0)        printf ("Boot image size: %d\n", pDhcpcParam->bootsize);     if (pDhcpcParam->max_dgram_size != 0)        printf ("Maximum datagram size: %d\n", pDhcpcParam->max_dgram_size);    if (pDhcpcParam->default_ip_ttl != 0)        printf ("Default IP Time-to-live: %d\n",                pDhcpcParam->default_ip_ttl);    if (pDhcpcParam->mtu_aging_timeout != 0)        printf ("Path MTU timeout: %ld\n", pDhcpcParam->mtu_aging_timeout);    if (pDhcpcParam->intf_mtu != 0)        printf ("Interface MTU: %d\n", pDhcpcParam->intf_mtu);    if (pDhcpcParam->arp_cache_timeout != 0)        printf ("ARP cache timeout: %ld\n", pDhcpcParam->arp_cache_timeout);    if (pDhcpcParam->default_tcp_ttl != 0)        printf ("Default TCP Time-to-live: %d\n",                pDhcpcParam->default_tcp_ttl);    if (pDhcpcParam->keepalive_inter != 0)        printf ("TCP keepalive interval: %ld\n",                pDhcpcParam->keepalive_inter);    if (pDhcpcParam->nb_nodetype != 0)        printf ("NetBIOS node type: %d\n", pDhcpcParam->nb_nodetype);    printf ("Client lease origin: %ld\n", pDhcpcParam->lease_origin);    printf ("Client lease duration: %ld\n", pDhcpcParam->lease_duration);    if (pDhcpcParam->dhcp_t1 != 0)        printf ("Client renewal (T1) time value: %ld\n",                pDhcpcParam->dhcp_t1);    if (pDhcpcParam->dhcp_t2 != 0)        printf ("Client rebinding (T2) time value: %ld\n",                pDhcpcParam->dhcp_t2);    /* Print multiple numeric parameters.  */    if (pDhcpcParam->mtu_plateau_table != NULL)        {         printf ("MTU plateau table:\n ");         if (pDhcpcParam->mtu_plateau_table->shortnum != NULL)            {            for (loop = 0; loop < pDhcpcParam->mtu_plateau_table->num; loop++)               printf ("%d ", pDhcpcParam->mtu_plateau_table->shortnum [loop]);            printf ("\n");            }         else            printf ("empty.\n");        }    /* Print any single IP addresses.  */    if (pDhcpcParam->server_id.s_addr != 0)        {        printf ("DHCP server: ");        inet_ntoa_b (pDhcpcParam->server_id, addrBuf);        printf ("%-18s\n", addrBuf);        }    if (pDhcpcParam->ciaddr.s_addr != 0)        {        printf ("Client IP address: ");        inet_ntoa_b (pDhcpcParam->ciaddr, addrBuf);        printf ("%-18s\n", addrBuf);        }    if (pDhcpcParam->yiaddr.s_addr != 0)        {        printf ("Assigned IP address: ");        inet_ntoa_b (pDhcpcParam->yiaddr, addrBuf);        printf ("%-18s\n", addrBuf);        }    if (pDhcpcParam->siaddr.s_addr != 0)        {        printf ("Next server IP address: ");        inet_ntoa_b (pDhcpcParam->siaddr, addrBuf);        printf ("%-18s\n", addrBuf);        }    if (pDhcpcParam->giaddr.s_addr != 0)        {        printf ("Relay agent IP address: ");        inet_ntoa_b (pDhcpcParam->giaddr, addrBuf);        printf ("%-18s\n", addrBuf);        }    if (pDhcpcParam->subnet_mask != NULL)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产福利在线观看| 国产精品国产三级国产| 亚洲国产精品高清| 日韩国产欧美一区二区三区| jlzzjlzz国产精品久久| 7777精品伊人久久久大香线蕉超级流畅 | 精品一区二区三区免费观看| 色狠狠一区二区三区香蕉| 国产日韩欧美激情| 精品一区二区在线看| 欧美精品在线一区二区三区| 国产精品大尺度| 国产精品一区二区在线观看不卡 | 成人免费va视频| 日韩欧美一区二区久久婷婷| 亚洲sss视频在线视频| 91丨porny丨国产| 久久丝袜美腿综合| 捆绑调教一区二区三区| 欧美人狂配大交3d怪物一区| 一区二区成人在线| 日本韩国欧美三级| 亚洲乱码中文字幕| av一本久道久久综合久久鬼色| 精品国产1区二区| 老司机免费视频一区二区三区| 欧美视频在线一区二区三区 | 国产精品久久久久久久久久久免费看 | 亚洲h在线观看| 色综合久久88色综合天天| 中文字幕乱码亚洲精品一区| 国产91综合一区在线观看| 国产午夜精品久久久久久免费视| 久久精品国产精品亚洲精品| 91精品国产综合久久国产大片| 亚洲va国产天堂va久久en| 欧美日韩一区在线| 五月天中文字幕一区二区| 欧美日韩aaa| 亚洲亚洲人成综合网络| 欧美三级一区二区| 香蕉久久夜色精品国产使用方法| 欧美日韩一区二区三区在线看 | 欧美日韩国产欧美日美国产精品| 亚洲福利一区二区| 日韩三级在线观看| 国产91在线|亚洲| 亚洲欧美国产毛片在线| 欧美日韩国产乱码电影| 国内久久婷婷综合| 国产精品久久久久久久久果冻传媒| 成人av影视在线观看| 亚洲精品久久嫩草网站秘色| 欧美三级三级三级爽爽爽| 麻豆国产精品视频| 国产精品毛片a∨一区二区三区| 成人精品鲁一区一区二区| 亚洲欧美日韩国产成人精品影院 | 亚洲第一久久影院| 欧美一区二区三区免费视频| 精品一区二区在线免费观看| 国产精品欧美经典| 69堂精品视频| 国产69精品久久99不卡| 一区二区在线观看视频 | 国产精品自拍网站| 亚洲乱码国产乱码精品精98午夜| 欧美剧情电影在线观看完整版免费励志电影| 午夜精品久久久久久久99水蜜桃| 久久久久久久久久看片| 色吧成人激情小说| 韩国精品免费视频| 亚洲国产综合色| 久久久精品蜜桃| 欧美日韩不卡在线| 99久久精品国产导航| 免费久久精品视频| 夜夜揉揉日日人人青青一国产精品| 日韩一区二区三区免费看 | 一区二区三区高清| 欧美mv和日韩mv的网站| 色狠狠av一区二区三区| 国产精品资源在线看| 亚洲成a人v欧美综合天堂下载| 久久综合九色综合97婷婷| 欧美日韩国产区一| www.亚洲国产| 国产一区二区三区在线观看精品| 五月激情六月综合| 最新国产成人在线观看| www激情久久| 欧美一级在线观看| 欧美日韩中文一区| 97se狠狠狠综合亚洲狠狠| 另类综合日韩欧美亚洲| 亚洲第一在线综合网站| 亚洲女性喷水在线观看一区| 中文字幕欧美三区| 久久影院电视剧免费观看| 日韩一区二区三区四区| 欧美福利一区二区| 欧美视频一区二区三区四区 | 大胆亚洲人体视频| 国产精品一级在线| 国产乱人伦偷精品视频免下载| 日韩黄色小视频| 亚洲成人综合在线| 一区二区激情小说| 亚洲九九爱视频| 亚洲人成小说网站色在线 | 亚洲国产成人av好男人在线观看| 中文字幕一区二区5566日韩| 久久青草欧美一区二区三区| 精品播放一区二区| 欧美精品一区二区精品网| 精品三级av在线| 精品国产乱码91久久久久久网站| 日韩视频免费观看高清完整版 | 欧美综合久久久| 在线免费观看日韩欧美| 欧美亚洲高清一区二区三区不卡| 在线观看亚洲a| 欧美精品自拍偷拍| 欧美zozo另类异族| 久久精品免费在线观看| 欧美国产激情一区二区三区蜜月| 中文字幕在线不卡视频| 亚洲精品视频免费看| 亚洲成国产人片在线观看| 美脚の诱脚舐め脚责91 | 日本一区二区久久| 亚洲色欲色欲www在线观看| 亚洲激情欧美激情| 日韩精品久久久久久| 精久久久久久久久久久| 成人深夜视频在线观看| 在线区一区二视频| 欧美变态tickle挠乳网站| 日本一区二区动态图| 一区二区三区中文免费| 午夜不卡av免费| 久久99精品久久只有精品| 成人一区二区三区中文字幕| 色综合色狠狠天天综合色| 欧美日韩精品一区二区三区四区 | 国产一区二区在线观看视频| 波多野结衣中文一区| 欧美日韩一区高清| 国产欧美精品区一区二区三区| 亚洲女子a中天字幕| 久久99热99| av一本久道久久综合久久鬼色| 欧美网站大全在线观看| 国产日韩欧美激情| 亚洲 欧美综合在线网络| 国产成人精品免费看| 欧美三级日韩在线| 国产欧美日韩精品一区| 丝袜美腿亚洲一区二区图片| 国产乱码精品1区2区3区| 欧美日韩黄色一区二区| 国产色产综合产在线视频| 亚洲国产精品久久艾草纯爱| 国产高清亚洲一区| 欧美一区二区精品久久911| 一区免费观看视频| 精品亚洲欧美一区| 18成人在线视频| 另类小说图片综合网| 在线免费亚洲电影| 国产日韩影视精品| 久久精工是国产品牌吗| 91黄色免费看| 国产精品卡一卡二卡三| 国产揄拍国内精品对白| 91精品国产免费| 亚洲一区二区三区四区在线观看 | 亚洲三级在线免费观看| 黄色资源网久久资源365| 欧美日韩国产综合久久| 一区二区三区四区中文字幕| 高潮精品一区videoshd| 欧美精品一区二| 日韩av电影天堂| 欧美情侣在线播放| 亚洲国产精品久久一线不卡| 色综合久久66| 亚洲美女屁股眼交3| 成人h版在线观看| 久久久久成人黄色影片| 国产又粗又猛又爽又黄91精品| 欧美大胆人体bbbb| 美女脱光内衣内裤视频久久网站 | 毛片一区二区三区| 欧美日韩大陆一区二区| 亚洲第一福利视频在线| 欧美高清视频在线高清观看mv色露露十八| 亚洲色图.com| 91免费版pro下载短视频| 亚洲卡通欧美制服中文|