亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
一本高清dvd不卡在线观看| 欧美一区二区在线播放| 欧美猛男男办公室激情| www成人在线观看| 亚洲午夜免费福利视频| 国产 欧美在线| 制服丝袜av成人在线看| 自拍偷拍亚洲激情| 国产+成+人+亚洲欧洲自线| 精品美女一区二区| 亚洲国产日韩在线一区模特| 成人国产电影网| 久久亚洲精品国产精品紫薇| 免费人成精品欧美精品| 色美美综合视频| 中文字幕一区二区三区视频| 狠狠色综合日日| 欧美一级高清片| 午夜精品久久久久久| 日本丰满少妇一区二区三区| 国产精品视频一二三区| 国产一区二区h| 欧美大片在线观看| 理论电影国产精品| 91精品国产麻豆国产自产在线 | 日产国产欧美视频一区精品| 欧美视频在线一区| 亚洲国产aⅴ成人精品无吗| 日本乱码高清不卡字幕| 亚洲一区二区三区精品在线| 91亚洲国产成人精品一区二三| 国产欧美日韩中文久久| 国产激情偷乱视频一区二区三区| www国产精品av| 国产盗摄一区二区| 国产精品久久久久aaaa樱花| 99久久国产免费看| 亚洲一区二区三区四区不卡| 在线播放日韩导航| 蜜桃一区二区三区在线观看| 欧美成人一区二区三区在线观看| 精品在线一区二区| 日本一区二区三区四区在线视频| 成人黄色大片在线观看| 一区av在线播放| 欧美日韩卡一卡二| 精品一区二区在线看| 中文一区在线播放| 色就色 综合激情| 日本欧美一区二区三区乱码| 久久久久久一二三区| 99精品视频免费在线观看| 亚洲一区二区三区在线| 日韩欧美在线网站| 粉嫩一区二区三区性色av| 亚洲色图欧美在线| 5月丁香婷婷综合| 国产宾馆实践打屁股91| 一区二区三区中文在线观看| 91精选在线观看| 成人高清视频免费观看| 五月婷婷久久丁香| 国产午夜亚洲精品不卡| 欧美亚洲一区三区| 精品一区二区三区视频| 日韩理论片网站| 日韩免费在线观看| 色噜噜狠狠色综合中国| 经典三级在线一区| 洋洋av久久久久久久一区| 精品国产一区二区三区久久影院| 成人激情黄色小说| 蜜臀精品一区二区三区在线观看 | 久久久精品国产免费观看同学| 成人av免费在线观看| 日韩中文字幕av电影| 中文一区二区完整视频在线观看| 欧美久久高跟鞋激| 91一区二区在线观看| 国产一区二区三区免费观看| 夜夜揉揉日日人人青青一国产精品| 国产网站一区二区| 日韩一区二区三区av| 91片在线免费观看| 从欧美一区二区三区| 免费成人性网站| 午夜精品在线看| 亚洲美女视频一区| 久久久不卡网国产精品一区| 7777精品伊人久久久大香线蕉的| 色综合网站在线| 成人精品电影在线观看| 国产一区二区主播在线| 日韩国产在线一| 亚洲大尺度视频在线观看| 中国av一区二区三区| 久久麻豆一区二区| 精品国产免费一区二区三区香蕉| 欧美视频自拍偷拍| 欧美特级限制片免费在线观看| av不卡在线观看| 国产成人aaa| 国产成人午夜精品影院观看视频| 久久福利资源站| 激情欧美日韩一区二区| 美女脱光内衣内裤视频久久影院| 五月激情丁香一区二区三区| 亚洲国产成人av| 亚洲午夜久久久久久久久电影院 | 国产精品亚洲а∨天堂免在线| 日本一区中文字幕| 日韩va欧美va亚洲va久久| 天堂资源在线中文精品| 亚洲成a人片综合在线| 午夜精品视频一区| 日韩高清不卡在线| 久久国产视频网| 国产一区在线看| 成人午夜免费电影| 91美女精品福利| 欧美性videosxxxxx| 欧美视频自拍偷拍| 日韩免费视频一区二区| 久久嫩草精品久久久久| 国产三级欧美三级| 亚洲欧美在线观看| 亚洲夂夂婷婷色拍ww47 | 粉嫩av亚洲一区二区图片| 风间由美一区二区三区在线观看 | 色先锋aa成人| 欧美视频在线播放| 日韩欧美国产综合一区| 久久网这里都是精品| 中文在线资源观看网站视频免费不卡| 国产精品免费aⅴ片在线观看| 国产精品丝袜黑色高跟| 亚洲最大色网站| 男女男精品视频| 国产黄人亚洲片| 在线亚洲免费视频| 日韩欧美在线观看一区二区三区| 久久综合九色综合欧美就去吻| 久久久国际精品| 亚洲专区一二三| 国产一区在线精品| 在线亚洲人成电影网站色www| 4438x亚洲最大成人网| 国产日韩av一区| 亚洲777理论| 成人h动漫精品| 91精品国产欧美一区二区成人| 国产精品污网站| 三级影片在线观看欧美日韩一区二区| 韩国理伦片一区二区三区在线播放 | 972aa.com艺术欧美| 欧美日本免费一区二区三区| 国产亚洲精品7777| 亚洲bt欧美bt精品| 99视频一区二区| 欧美电影免费观看高清完整版在| 亚洲欧洲成人av每日更新| 久久国产精品99久久人人澡| 色香色香欲天天天影视综合网| 精品久久久久久综合日本欧美| 中文字幕在线免费不卡| 久久国产欧美日韩精品| 日本乱码高清不卡字幕| 国产欧美一区二区精品性色 | 亚洲日韩欧美一区二区在线| 美国十次综合导航| 欧美亚洲国产一卡| 国产精品网站在线播放| 久久99精品久久久久久动态图 | 久久国产夜色精品鲁鲁99| 色乱码一区二区三区88| 国产精品入口麻豆九色| 精品无码三级在线观看视频| 在线不卡的av| 亚洲成av人片在线| 色噜噜狠狠一区二区三区果冻| 中文字幕免费在线观看视频一区| 六月丁香综合在线视频| 欧美美女黄视频| 亚洲一区免费视频| 在线观看国产日韩| 亚洲日本韩国一区| 91美女在线观看| 亚洲丝袜精品丝袜在线| www.亚洲色图.com| 欧美国产日韩亚洲一区| 国产精品一区在线| 国产亚洲一区二区三区四区| 久久99精品久久久久久| 欧美成人激情免费网| 捆绑紧缚一区二区三区视频| 制服丝袜av成人在线看| 免费观看30秒视频久久| 精品日韩一区二区三区免费视频| 久久av资源站| 久久精品视频一区|