亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国内精品免费**视频| 国产一区二区三区黄视频 | 欧美影院一区二区三区| 精品国产亚洲在线| 亚瑟在线精品视频| av不卡免费电影| wwww国产精品欧美| 日韩高清欧美激情| 欧洲精品在线观看| 亚洲色图清纯唯美| 精品一区二区三区在线观看| 欧美系列一区二区| 亚洲免费观看高清完整| 国产一区二区不卡| 亚洲精品一区二区精华| 日韩电影在线观看网站| 欧美日韩一卡二卡| 亚洲精品伦理在线| 91麻豆精东视频| 国产精品三级av在线播放| 韩国v欧美v日本v亚洲v| 精品国产一区二区三区四区四 | 亚洲欧洲精品一区二区三区| 国产一区二区精品久久91| 69av一区二区三区| 日本欧美大码aⅴ在线播放| 欧美午夜免费电影| 五月婷婷综合网| 欧美日韩dvd在线观看| 一级精品视频在线观看宜春院| 成人a区在线观看| 国产精品免费网站在线观看| 国产成人高清视频| 国产精品理论片在线观看| 懂色av一区二区三区免费观看| 久久久久一区二区三区四区| 国产精品1024久久| 国产精品视频线看| 91麻豆国产香蕉久久精品| 亚洲一区二区三区免费视频| 欧美揉bbbbb揉bbbbb| 日韩av电影免费观看高清完整版| 91.麻豆视频| 久久不见久久见免费视频7| 精品国产青草久久久久福利| 久久国产欧美日韩精品| 国产免费观看久久| 在线视频中文字幕一区二区| 五月天婷婷综合| 精品国产污污免费网站入口 | 亚洲美女一区二区三区| 欧美色视频在线观看| 日本aⅴ免费视频一区二区三区 | 国产福利精品一区| 亚洲欧洲一区二区三区| 欧美日韩亚洲综合一区二区三区| 三级欧美在线一区| 中文字幕av不卡| 欧美最新大片在线看| 久久99精品久久久| 亚洲女性喷水在线观看一区| 欧美日韩高清在线播放| 国产乱码精品一区二区三区五月婷 | 欧美老肥妇做.爰bbww| 久久爱另类一区二区小说| 国产精品国产a| 欧美美女一区二区在线观看| 国产精品综合视频| 亚洲国产你懂的| 久久理论电影网| 欧美日韩国产一区| 国产成人自拍网| 婷婷中文字幕综合| 中文字幕日本乱码精品影院| 欧美福利视频一区| 99久久精品国产网站| 日本不卡一区二区三区高清视频| 国产欧美一区视频| 日韩一区二区免费电影| 91偷拍与自偷拍精品| 精品亚洲国产成人av制服丝袜| 国产精品久久久久精k8| 日韩欧美亚洲国产精品字幕久久久| 成人性色生活片| 日韩电影一区二区三区| 亚洲视频资源在线| 亚洲国产精品高清| 欧美精品一区二区在线观看| 欧美少妇xxx| 日韩一区二区影院| 91天堂素人约啪| 成人丝袜高跟foot| 韩国欧美国产1区| 日本最新不卡在线| 丝袜美腿亚洲一区二区图片| 亚洲婷婷综合久久一本伊一区| 精品国产精品网麻豆系列| 欧美色综合影院| 欧洲一区二区av| 在线观看欧美黄色| 色综合久久久久综合99| www.av亚洲| 成av人片一区二区| www.爱久久.com| 成人黄色在线网站| 不卡的电影网站| 91在线小视频| 99国产精品久久久久久久久久| 国产一区二区视频在线播放| 久久国产人妖系列| 国产一区二区三区日韩 | 成人黄色777网| 国产福利精品导航| 成人免费看片app下载| 成人激情电影免费在线观看| 不卡的av在线播放| 91浏览器打开| 欧美三级三级三级| 日韩欧美在线综合网| 日韩欧美成人一区| 亚洲精品在线观看视频| 国产夜色精品一区二区av| 国产欧美一区二区精品忘忧草 | 日韩女优毛片在线| 久久中文字幕电影| 国产精品色婷婷| ㊣最新国产の精品bt伙计久久| 国产精品妹子av| 一区二区三区欧美日韩| 亚洲蜜桃精久久久久久久| 亚洲成人综合在线| 久久福利资源站| av网站一区二区三区| 欧美优质美女网站| 日韩一级高清毛片| 国产精品九色蝌蚪自拍| 亚洲一二三区不卡| 麻豆国产欧美日韩综合精品二区| 韩国欧美国产一区| 色噜噜狠狠色综合欧洲selulu| 在线视频综合导航| 欧美成人一区二区三区在线观看| 国产亚洲制服色| 一区二区三区四区激情| 另类小说视频一区二区| 成人美女视频在线看| 欧美日韩精品系列| 国产日产精品1区| 亚洲一区二区免费视频| 国产一区二区三区不卡在线观看 | 7777精品伊人久久久大香线蕉的 | 亚洲黄色av一区| 久久av资源站| 在线观看免费亚洲| 久久中文字幕电影| 午夜精品免费在线| jizzjizzjizz欧美| 日韩三级电影网址| 18成人在线视频| 国产在线精品一区二区 | 91麻豆免费看| 精品国产乱码久久久久久久| 亚洲欧美激情插| 国产91丝袜在线播放0| 欧美猛男男办公室激情| 国产精品进线69影院| 久久99精品国产.久久久久| 在线观看中文字幕不卡| 国产精品免费视频网站| 久久66热re国产| 欧美高清一级片在线| 亚洲美女区一区| 成人一级片在线观看| 欧美电影免费观看高清完整版在线| 亚洲素人一区二区| 成人丝袜高跟foot| 久久久久久久综合色一本| 日韩福利电影在线| 欧美日韩高清一区二区| 综合网在线视频| 成人免费视频一区二区| 精品久久国产97色综合| 美女视频第一区二区三区免费观看网站| 91丨porny丨国产入口| 国产精品久线观看视频| 国产成人精品影院| 久久欧美中文字幕| 精品亚洲成av人在线观看| 日韩一二三区视频| 奇米影视在线99精品| 制服丝袜中文字幕一区| 天堂久久久久va久久久久| 欧美色大人视频| 亚洲国产日韩在线一区模特| 一本一道波多野结衣一区二区| 欧美激情综合五月色丁香小说| 国产乱码精品1区2区3区| 久久免费偷拍视频| 高清不卡一二三区| 国产精品久久久久久久久快鸭 |