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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dhcpccommonlib.c

?? vxwork源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
    if (msglen > pReqSpec->maxlen)        {        /*         * Option field is full.  New option would either exceed MTU size         * or overflow the transmit buffer.         */        errno = S_dhcpcLib_OPTION_NOT_STORED;        return (ERROR);        }    pReqSpec->reqlist.list [pReqSpec->reqlist.len++] = option;    return (OK);    }/********************************************************************************* dhcpcOptionAdd - add an option to the client messages** This routine inserts option tags and associated values into the body of* all outgoing messages for the lease indicated by the <pCookie> parameter.* Each lease can accept option data up to the MTU size of the underlying* interface, minus the link-level header size and the additional 283 bytes* required for a minimum DHCP message (including mandatory options).** The <option> parameter specifies an option tag defined in RFC 2132. See* the dhcp/dhcp.h include file for a listing of defined aliases for the* available option tags. This routine will not accept the following <option>* values, which are used for control purposes and cannot be included* arbitrarily:**     _DHCP_PAD_TAG*     _DHCP_OPT_OVERLOAD_TAG*     _DHCP_MSGTYPE_TAG*     _DHCP_SERVER_ID_TAG*     _DHCP_MAXMSGSIZE_TAG*     _DHCP_END_TAG** This routine also will not accept <option> values 62 or 63, which are not* currently defined.** The <length> parameter indicates the number of bytes in the option body* provided by the <pData> parameter. ** The maximum length of the option field in a DHCP message depends on the* MTU size of the associated interface and the maximum DHCP message size set* during the DHCP library initialization. These option settings share that* field with any option request list created through the dhcpcOptionSet()* routine. Options which exceed the limit will not be stored.** Each call to this routine with the same <option> value usually replaces* the value of the existing option, if any. However, the routine will append* the new data for the <option> values which contain variable length lists,* corresponding to tags 3-11, 21, 25, 33, 41-45, 48-49, 55, 65, and 68-76.** WARNING: The _DHCP_REQ_LIST_TAG <option> value (55) will replace* any existing list created with the dhcpcOptionSet() routine.** RETURNS: OK if the option was inserted successfully, or ERROR if the option* is invalid or storage failed.** ERRNO: S_dhcpcLib_BAD_OPTION, S_dhcpcLib_OPTION_NOT_STORED**/STATUS dhcpcOptionAdd    (    void * 	pCookie, 	/* identifier returned by dhcpcInit() */    UCHAR 	option, 	/* RFC 2132 tag of desired option */    int 	length, 	/* length of option data */    UCHAR * 	pData 		/* option data */    )    {    LEASE_DATA *                pLeaseData;    struct dhcp_reqspec *       pReqSpec;    char * 			pDest;    struct dhcpcOpts * 		pOptList;    int msglen = 0; 	/* Length of DHCP message after inserting option */    /*     * 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;    pReqSpec = &pLeaseData->leaseReqSpec;    /* Check for restricted or invalid options. */    switch (option)        {        case _DHCP_PAD_TAG:             /* fall-through */        case _DHCP_OPT_OVERLOAD_TAG:    /* fall-through */        case _DHCP_MSGTYPE_TAG:         /* fall-through */        case _DHCP_SERVER_ID_TAG:       /* fall-through */        case _DHCP_MAXMSGSIZE_TAG:      /* fall-through */        case _DHCP_END_TAG:            errno = S_dhcpcLib_BAD_OPTION;            return (ERROR);            break;        default:            break;        }    if (option == 62 || option == 63)        {        errno = S_dhcpcLib_BAD_OPTION;        return (ERROR);        }            /*     * Verify that the option won't exceed the MTU size for a message.     * Start with an initial length equal to the UDP and IP headers and     * the fixed-length portion of a DHCP message.     */    msglen = UDPHL + IPHL + (DFLTDHCPLEN - DFLTOPTLEN);    /* Include size of existing options and option request list. */    pOptList = pReqSpec->pOptList;    if (pOptList)        msglen += pReqSpec->pOptList->optlen;    if (option == _DHCP_REQ_LIST_TAG)    /* Replacing request list? */        msglen -= pReqSpec->reqlist.len;    else        msglen += pReqSpec->reqlist.len;    /*     * Include space for required magic cookie (4 bytes), message     * type option (3 bytes), maximum message size (4 bytes), and     * server identifier option (6 bytes).     */    msglen += 17;    /* Include space for required requested IP address option (6 bytes). */    msglen += 6;    /* Add size of any other option (don't double-count IP address). */    if (option != _DHCP_REQUEST_IPADDR_TAG)        msglen += length + 2;    /* +2 includes tag and length values */    if (msglen > dhcpcBufSize)        {        /* Option field is full.  New option would overflow transmit buffer. */        errno = S_dhcpcLib_OPTION_NOT_STORED;        return (ERROR);        }    if (msglen > pReqSpec->maxlen)        {        /*         * Option field is full.  New option would either exceed MTU size         * or overflow the transmit buffer.         */        errno = S_dhcpcLib_OPTION_NOT_STORED;        return (ERROR);        }    if (pData == NULL)        {        errno = S_dhcpcLib_BAD_OPTION;        return (ERROR);        }    /* Validate the length of each option. */    switch (option)        {        /* 1 byte values */        case _DHCP_IP_FORWARD_TAG: 		/* Option Tag 19 */        case _DHCP_NONLOCAL_SRCROUTE_TAG: 	/* Option Tag 20 */        case _DHCP_DEFAULT_IP_TTL_TAG: 		/* Option Tag 23 */        case _DHCP_ALL_SUBNET_LOCAL_TAG: 	/* Option Tag 27 */        case _DHCP_MASK_DISCOVER_TAG: 		/* Option Tag 29 */        case _DHCP_MASK_SUPPLIER_TAG: 		/* Option Tag 30 */        case _DHCP_ROUTER_DISCOVER_TAG: 	/* Option Tag 31 */        case _DHCP_TRAILER_TAG: 		/* Option Tag 34 */        case _DHCP_ETHER_ENCAP_TAG: 		/* Option Tag 36 */        case _DHCP_DEFAULT_TCP_TTL_TAG: 	/* Option Tag 37 */        case _DHCP_KEEPALIVE_GARBAGE_TAG: 	/* Option Tag 39 */        case _DHCP_NB_NODETYPE_TAG: 		/* Option Tag 46 */            if (length != 1)                {                errno = S_dhcpcLib_BAD_OPTION;                return (ERROR);                }            break;        /* 2 byte values */        case _DHCP_BOOTSIZE_TAG: 		/* Option Tag 13 */        case _DHCP_MAX_DGRAM_SIZE_TAG: 		/* Option Tag 22 */        case _DHCP_IF_MTU_TAG: 			/* Option Tag 26 */            if (length != 2)                {                errno = S_dhcpcLib_BAD_OPTION;                return (ERROR);                }            break;        /* 4 byte values */        case _DHCP_SUBNET_MASK_TAG: 		/* Option Tag 1 */        case _DHCP_TIME_OFFSET_TAG: 		/* Option Tag 2 */        case _DHCP_SWAP_SERVER_TAG: 		/* Option Tag 16 */        case _DHCP_MTU_AGING_TIMEOUT_TAG: 	/* Option Tag 24 */        case _DHCP_BRDCAST_ADDR_TAG: 		/* Option Tag 28 */        case _DHCP_ROUTER_SOLICIT_TAG: 		/* Option Tag 32 */        case _DHCP_ARP_CACHE_TIMEOUT_TAG: 	/* Option Tag 35 */        case _DHCP_KEEPALIVE_INTERVAL_TAG: 	/* Option Tag 38 */        case _DHCP_REQUEST_IPADDR_TAG: 		/* Option Tag 50 */        case _DHCP_LEASE_TIME_TAG: 		/* Option Tag 51 */        case _DHCP_T1_TAG: 			/* Option Tag 58 */        case _DHCP_T2_TAG: 			/* Option Tag 59 */            if (length != 4)                {                errno = S_dhcpcLib_BAD_OPTION;                return (ERROR);                }            break;        /* Table entries (2 bytes each) */        case _DHCP_MTU_PLATEAU_TABLE_TAG: 	/* Option Tag 25 */            if (length % 2)                {                errno = S_dhcpcLib_BAD_OPTION;                return (ERROR);                }            break;        /* Address values (4 bytes each) */        case _DHCP_ROUTER_TAG: 			/* Option Tag 3 */        case _DHCP_TIME_SERVER_TAG: 		/* Option Tag 4 */        case _DHCP_NAME_SERVER_TAG: 		/* Option Tag 5 */        case _DHCP_DNS_SERVER_TAG: 		/* Option Tag 6 */        case _DHCP_LOG_SERVER_TAG: 		/* Option Tag 7 */        case _DHCP_COOKIE_SERVER_TAG: 		/* Option Tag 8 */        case _DHCP_LPR_SERVER_TAG: 		/* Option Tag 9 */        case _DHCP_IMPRESS_SERVER_TAG: 		/* Option Tag 10 */        case _DHCP_RLS_SERVER_TAG: 		/* Option Tag 11 */        case _DHCP_NIS_SERVER_TAG: 		/* Option Tag 41 */        case _DHCP_NTP_SERVER_TAG: 		/* Option Tag 42 */        case _DHCP_NBN_SERVER_TAG: 		/* Option Tag 44 */        case _DHCP_NBDD_SERVER_TAG: 		/* Option Tag 45 */        case _DHCP_XFONT_SERVER_TAG: 		/* Option Tag 48 */        case _DHCP_XDISPLAY_MANAGER_TAG: 	/* Option Tag 49 */        case _DHCP_NISP_SERVER_TAG: 		/* Option Tag 65 */        case _DHCP_MOBILEIP_HA_TAG: 		/* Option Tag 68 */        case _DHCP_SMTP_SERVER_TAG: 		/* Option Tag 69 */        case _DHCP_POP3_SERVER_TAG: 		/* Option Tag 70 */        case _DHCP_NNTP_SERVER_TAG: 		/* Option Tag 71 */        case _DHCP_DFLT_WWW_SERVER_TAG: 	/* Option Tag 72 */        case _DHCP_DFLT_FINGER_SERVER_TAG: 	/* Option Tag 73 */        case _DHCP_DFLT_IRC_SERVER_TAG:  	/* Option Tag 74 */        case _DHCP_STREETTALK_SERVER_TAG:  	/* Option Tag 75 */        case _DHCP_STDA_SERVER_TAG: 		/* Option Tag 76 */            if (length % 4)                {                errno = S_dhcpcLib_BAD_OPTION;                return (ERROR);                }            break;        /* Address pairs or address/mask values (8 bytes each). */        case _DHCP_POLICY_FILTER_TAG: 		/* Option Tag 21 */        case _DHCP_STATIC_ROUTE_TAG: 		/* Option Tag 33 */            if (length % 8)                {                errno = S_dhcpcLib_BAD_OPTION;                return (ERROR);                }            break;        /* Variable-length values */        case _DHCP_HOSTNAME_TAG: 		/* Option Tag 12 */        case _DHCP_MERIT_DUMP_TAG: 		/* Option Tag 14 */        case _DHCP_DNS_DOMAIN_TAG: 		/* Option Tag 15 */        case _DHCP_ROOT_PATH_TAG: 		/* Option Tag 17 */        case _DHCP_EXTENSIONS_PATH_TAG: 	/* Option Tag 18 */        case _DHCP_NIS_DOMAIN_TAG: 		/* Option Tag 40 */        case _DHCP_VENDOR_SPEC_TAG: 		/* Option Tag 43 */        case _DHCP_NB_SCOPE_TAG: 		/* Option Tag 47 */        case _DHCP_REQ_LIST_TAG: 		/* Option Tag 55 */        case _DHCP_ERRMSG_TAG: 			/* Option Tag 56 */        case _DHCP_CLASS_ID_TAG: 		/* Option Tag 60 */        case _DHCP_CLIENT_ID_TAG: 		/* Option Tag 61 */        case _DHCP_NISP_DOMAIN_TAG: 		/* Option Tag 64 */        case _DHCP_TFTP_SERVERNAME_TAG: 	/* Option Tag 66 */        case _DHCP_BOOTFILE_TAG: 		/* Option Tag 67 */            if (length < 1 || length > _DHCP_MAX_OPTLEN)                {                errno = S_dhcpcLib_BAD_OPTION;                return (ERROR);                }            break;        }    /* Store the option body in the space provided. */    if (pOptList == NULL)        {        pOptList = malloc (sizeof (struct dhcpcOpts));        if (pOptList == NULL)            {            errno = S_dhcpcLib_OPTION_NOT_STORED;            return (ERROR);            }        bzero ( (char *)pOptList, sizeof (struct dhcpcOpts));        pReqSpec->pOptList = pOptList;        }    switch (option)        {        /* 1 byte values */        case _DHCP_IP_FORWARD_TAG: 		/* Option Tag 19 */            pOptList->tag19 = *pData;            break;            case _DHCP_NONLOCAL_SRCROUTE_TAG: 	/* Option Tag 20 */            pOptList->tag20 = *pData;            break;        case _DHCP_DEFAULT_IP_TTL_TAG: 		/* Option Tag 23 */            pOptList->tag23 = *pData;            break;        case _DHCP_ALL_SUBNET_LOCAL_TAG: 	/* Option Tag 27 */            pOptList->tag27 = *pData;            break;        case _DHCP_MASK_DISCOVER_TAG: 		/* Option Tag 29 */            pOptList->tag29 = *pData;            break;        case _DHCP_MASK_SUPPLIER_TAG: 		/* Option Tag 30 */            pOptList->tag30 = *pData;            break;        case _DHCP_ROUTER_DISCOVER_TAG: 	/* Option Tag 31 */            pOptList->tag31 = *pData;            break;        case _DHCP_TRAILER_TAG: 		/* Option Tag 34 */            pOptList->tag34 = *pData;            break;        case _DHCP_ETHER_ENCAP_TAG: 		/* Option Tag 36 */            pOptList->tag36 = *pData;            break;        case _DHCP_DEFAULT_TCP_TTL_TAG: 	/* Option Tag 37 */            pOptList->tag37 = *pData;            break;        case _DHCP_KEEPALIVE_GARBAGE_TAG: 	/* Option Tag 39 */            pOptList->tag39 = *pData;            break;        case _DHCP_NB_NODETYPE_TAG: 		/* Option Tag 46 */            pOptList->tag46 = *pData;            break;        /* 2 byte values */        case _DHCP_BOOTSIZE_TAG: 		/* Option Tag 13 */            bcopy (pData, (char *)&pOptList->tag13, sizeof (USHORT));

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产麻豆视频精品| 一区二区三区产品免费精品久久75| 日韩av高清在线观看| 日韩一区二区三| 国内成人免费视频| 国产欧美精品一区二区色综合朱莉| 夫妻av一区二区| 亚洲另类色综合网站| 69av一区二区三区| 国产老妇另类xxxxx| 中文字幕一区二区三中文字幕| 一本大道久久a久久精二百| 亚洲成年人网站在线观看| 日韩一区二区三区在线观看| 国产精品69久久久久水密桃| 中文字幕综合网| 91精品婷婷国产综合久久性色 | 亚洲欧美一区二区不卡| 91黄视频在线| 久久66热偷产精品| 亚洲人成网站色在线观看| 欧美乱熟臀69xxxxxx| 国产毛片精品视频| 亚洲人精品午夜| 日韩欧美一级在线播放| 91视频国产观看| 美女脱光内衣内裤视频久久影院| 中文字幕精品综合| 欧美日韩激情一区二区三区| 国产成人午夜99999| 亚洲a一区二区| 国产精品乱人伦中文| 欧美精品自拍偷拍| 不卡一区二区三区四区| 日本不卡免费在线视频| 亚洲视频在线一区观看| wwwwxxxxx欧美| 欧美精品欧美精品系列| 99视频一区二区| 激情成人午夜视频| 亚洲一区二区三区三| 精品日韩一区二区| 欧美唯美清纯偷拍| 成人黄色av电影| 美女脱光内衣内裤视频久久影院| 亚洲精品你懂的| 精品国产一二三| 欧美日韩国产经典色站一区二区三区| 国产美女在线观看一区| 日韩av不卡在线观看| 一区二区久久久| 中文字幕一区二区三| 久久精品视频网| 日韩欧美精品在线| 欧美福利视频导航| 欧美日韩国产影片| 色婷婷久久久久swag精品| 成人一区二区视频| 国产成人精品影院| 狠狠色丁香久久婷婷综| 麻豆成人91精品二区三区| 午夜欧美一区二区三区在线播放 | 国产精品欧美一区二区三区| 26uuu另类欧美亚洲曰本| 欧美剧情片在线观看| 欧美视频第二页| 欧美日韩一区二区三区四区| 在线观看日韩一区| 一本色道久久综合狠狠躁的推荐| 99久久精品国产一区| 高清免费成人av| 成人理论电影网| 成人免费看黄yyy456| 岛国一区二区在线观看| 国产成人欧美日韩在线电影| 国产一区二区在线看| 国产麻豆成人传媒免费观看| 国产黄色91视频| 成人免费高清视频| 99re这里只有精品视频首页| 91视频免费播放| 欧美日韩一区精品| 日韩一区国产二区欧美三区| 欧美不卡视频一区| 久久免费视频一区| 国产精品区一区二区三区| 国产精品卡一卡二| 亚洲免费观看高清完整版在线| 亚洲精品国产成人久久av盗摄 | 午夜精品123| 日韩av一区二区三区四区| 久久精品国产一区二区三区免费看| 伦理电影国产精品| 国产精品一区二区你懂的| 成人av动漫网站| 在线欧美一区二区| 在线播放视频一区| 久久久久国产成人精品亚洲午夜| 国产精品污网站| 一区二区国产盗摄色噜噜| 日本美女一区二区| 国产不卡在线视频| 欧美最新大片在线看 | 国产一区美女在线| 国产91清纯白嫩初高中在线观看| 色香蕉成人二区免费| 欧美一区二区三区男人的天堂| 久久久五月婷婷| 亚洲国产精品综合小说图片区| 麻豆视频一区二区| 93久久精品日日躁夜夜躁欧美| 欧美区一区二区三区| 久久久亚洲国产美女国产盗摄 | 一区二区三区在线观看动漫| 久久99精品久久只有精品| 成人深夜在线观看| 91精品国产综合久久久久久漫画 | 专区另类欧美日韩| 免费成人在线播放| 91在线一区二区三区| 9191国产精品| 亚洲欧洲日产国码二区| 免费人成精品欧美精品| 99视频精品全部免费在线| 日韩一区二区免费在线电影 | 久久精品亚洲乱码伦伦中文| 一区二区三区国产豹纹内裤在线| 国产一区二区中文字幕| 欧洲亚洲国产日韩| 国产精品久久久久一区| 免费在线看成人av| 欧洲精品一区二区| 国产精品毛片久久久久久久 | 国产成人免费9x9x人网站视频| 欧美性生活久久| 国产精品污污网站在线观看 | 国产成人亚洲精品青草天美| 欧美精品v国产精品v日韩精品| 亚洲免费av网站| 国产99久久久精品| 精品欧美久久久| 日韩电影在线免费看| 91黄色小视频| 中文字幕一区三区| 国产成人精品综合在线观看| 精品国产乱码久久久久久蜜臀 | 色成人在线视频| 国产精品久久综合| 国产激情偷乱视频一区二区三区| 日韩一区二区精品在线观看| 亚洲成av人片在www色猫咪| 色一情一乱一乱一91av| 亚洲丝袜美腿综合| 99久久免费视频.com| 国产欧美日韩精品在线| 久久99久久99| 欧美大胆人体bbbb| 日产欧产美韩系列久久99| 欧美日韩在线播放| 亚洲成a人v欧美综合天堂| 欧美日韩精品电影| 日韩专区一卡二卡| 欧美日韩国产乱码电影| 亚洲香蕉伊在人在线观| 欧美做爰猛烈大尺度电影无法无天| 亚洲图片激情小说| 91视频免费看| 亚洲一二三专区| 91精品国产色综合久久不卡蜜臀 | 欧美二区在线观看| 日本不卡一区二区三区 | 91精品综合久久久久久| 视频一区欧美精品| 日韩一区二区三免费高清| 九九在线精品视频| 久久久久久97三级| eeuss影院一区二区三区| 亚洲天堂a在线| 欧美日韩在线播放一区| 日韩高清一区在线| 精品久久久久久久人人人人传媒 | 精品久久久久久久人人人人传媒 | 91在线观看一区二区| 亚洲伦理在线免费看| 欧洲av一区二区嗯嗯嗯啊| 五月婷婷综合网| 日韩欧美电影一区| 国产呦萝稀缺另类资源| 国产精品无遮挡| 欧美手机在线视频| 久久爱另类一区二区小说| 国产精品免费久久久久| 色视频成人在线观看免| 天天爽夜夜爽夜夜爽精品视频| 欧美精品一区二区高清在线观看| 成人av综合一区| 日韩福利电影在线观看| 亚洲国产电影在线观看| 91九色02白丝porn| 久久精品999|