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

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

?? dhcp_support.c

?? Mavell 無(wú)線模塊原廠IC AP32源代碼。DHCP客戶端與服務(wù)端源代碼
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
                    ap = "  subnet mask";                if (*op == TAG_GATEWAY)                    ap = "      gateway";                if (*op == TAG_IP_BROADCAST)                    ap = " IP broadcast";                ap = (unsigned char *) & addr[0];                while (len > 0)                {                    len -= sizeof(struct in_addr);                    ap += sizeof(struct in_addr);                }                break;            case TAG_DOMAIN_SERVER:#ifdef DHCP_FIX                dnsServer = 1;#endif                ap = (unsigned char *) & addr[0];                len = *(op + 1);                for (i = 0; i < len; i++)                {                    *ap++ = *(op + i + 2);                }                if (*op == TAG_DOMAIN_SERVER)                    ap = "domain server";                ap = (unsigned char *) & addr[0];                while (len > 0)                {                    len -= sizeof(struct in_addr);                    ap += sizeof(struct in_addr);                }                PRIMARYDNS = inet_address((unsigned long)addr[0].s_addr);                SECONDARYDNS = inet_address((unsigned long)addr[1].s_addr);#if defined(GATEWAY) && defined(DHCPS)#ifndef DHCP_FIX                /* Inform DHCP Server application */                dhcpsSetDNS(PRIMARYDNS, SECONDARYDNS);#endif#endif                break;            case TAG_DOMAIN_NAME:            case TAG_HOST_NAME:                for (i = 0; i < *(op + 1); i++)                {                    name[i] = *(op + i + 2);                }                name[*(op + 1)] = '\0';                if (*op == TAG_DOMAIN_NAME)                    ap = " domain name";                if (*op == TAG_HOST_NAME)                    ap = "   host name";                break;            default:                break;            }            op += *(op + 1) + 2;        }    }#if defined(GATEWAY)        /* Inform Fast Routing module */		//if(mib_dhcpenable==0)		   //GWYADDR =0;	        FR_Main_WanIP_update();#ifdef DHCPS#ifdef DHCP_FIX    if(defaultGW == 0)        GWYADDR = 0;    if(dnsServer == 0 && mib_dhcpenable == 1){        PRIMARYDNS = 0;        SECONDARYDNS = 0;    }                /* Inform DHCP Server application */    dhcpsSetDNS(PRIMARYDNS, SECONDARYDNS);#endif#endif#endif#if !defined(GATEWAY)    bp = &eth1_bootp_data;    //mib_IP_LAN.IPAddr = inet_address(eth1_bootp_data.bp_yiaddr.s_addr);    IPADDR = inet_address(eth1_bootp_data.bp_yiaddr.s_addr);    if (bp->bp_vend[0])    {        op = &bp->bp_vend[4];        while (*op != TAG_END)        {            switch (*op)            {            case TAG_SUBNET_MASK:                ap = (unsigned char *) & tmpaddr;                len = *(op + 1);                for (i = 0; i < len; i++)                {                    *ap++ = *(op + i + 2);                }                while (len > 0)                {                    len -= sizeof(struct in_addr);                    ap += sizeof(struct in_addr);                }                /*mib_IP_LAN.*/SUBNETMASK = inet_address(tmpaddr);                break;            default:                break;            }            op += *(op + 1) + 2;         }    }#endif#if defined(DHCPS)            /* notify DHCP Server about new IP */    dhcpsSetIpAddress(mib_IP_LAN.IPAddr, mib_IP_LAN.SubnetMask);#endif}typedef enum{        DHCPC_flag_init_E = 0,       /* first init  */        DHCPC_flag_set_from_mib = 1,  /* set WAN static data (gate way)  */        DHCPC_ip_post_config    = 2,/* post config to IP layer */}DHCPC_flag_ENT;unsigned int  dhcp_del_old_ip_and_reset_interface(	const char *if_name,     int s,     struct ifreq *ifrp /* socket for ioctl operations */){    strcpy(ifrp->ifr_name, if_name);    memset(&(ifrp->ifr_addr),0, sizeof(ifrp->ifr_addr));    if (ioctl(s, SIOCGIFADDR, ifrp))    {        if(errno != EADDRNOTAVAIL){            eth0_up = false;            return false;        }    }    else{ /* found IP so delete */        if (ioctl(s, SIOCDIFADDR, ifrp))        {            perror("SIOCDIFADDR1");        }    }    // Shut down interface so it can be reinitialized    ifrp->ifr_flags &= ~(IFF_UP | IFF_RUNNING);    if (ioctl(s, SIOCSIFFLAGS, ifrp))    {        eth0_up = false;        return false;    }    ifrp->ifr_flags = IFF_UP | IFF_BROADCAST | IFF_RUNNING;    if (ioctl(s, SIOCSIFFLAGS, ifrp))    { /* set ifnet flags */        perror("SIOCSIFFLAGS up");        return false;    }    return true;}void init_static_network_interfaces(int flag){/* flag 0 init defaults*//* flag 2 set IP to current configuration *//* flag 4 delete old configuration and prepare configuration for static*//* flag 5 delete old configuration */#if defined(GATEWAY)    int s;    struct ifreq ifr;//    struct sockaddr_in *addrpp;//    struct ecos_rtentry route;//    struct in_addr netmask, gateway;#else    int i;    in_addr_t addr;    unsigned char *vp;    unsigned char cookie[] = VM_RFC1048;    struct bootp *bp;#endif#ifdef CYGDBG_NET_DHCP_CHATTER     diag_printf("init_static_network_interfaces: flag %d\n",flag);#endif#if defined(GATEWAY)    s = socket(AF_INET, SOCK_DGRAM, 0);    if (s < 0)    {        eth0_up = false;        return;    }    if (flag == DHCPC_flag_init_E)    {        init_all_network_interfaces(); //initialize network interface first        /* if WAN has configuration*/#ifdef DHCP_FIX        if (mib_dhcpenable == 1 ) {            if (!dhcp_del_old_ip_and_reset_interface( eth0_name,                                                      s,                                                      &ifr)){                close(s);                return;            }        }        else if ( (IPADDR != 0xffffffff) &&                 (IPADDR != 0 )) {#else        if (mib_dhcpenable == 0 &&            (IPADDR != 0xffffffff && IPADDR != 0 )) {#endif            if (!dhcp_del_old_ip_and_reset_interface( eth0_name,            									      s,                                                      &ifr)){            	close(s);                return;            }             dhcp_build_bootp(&eth0_bootp_data,                               IPADDR,                               SUBNETMASK,                               GWYADDR,                               0);             /* delete old(default IP) */#ifdef CYGDBG_NET_DHCP_CHATTER            diag_printf("Network initialization for eth0 from mib %x\n",mib_DHCP_p->IPAddr);#endif            if (!init_net(eth0_name, &eth0_bootp_data)) {                //diag_printf("Network initialization failed for eth0\n");                eth0_up = false;#ifdef CYGDBG_NET_DHCP_CHATTER                diag_printf("Network initialization failed for eth0\n");#endif            }        }        /* update eth1 from MIB */        if ( IPADDR != 0xffffffff && IPADDR != 0) {             eth1_up = 1;            if (!dhcp_del_old_ip_and_reset_interface( eth1_name,                                                      s,                                                      &ifr)){                close(s);                return;            }             dhcp_build_bootp(&eth1_bootp_data,                               IPADDR,                               SUBNETMASK,                               0,                               0);#ifdef CYGDBG_NET_DHCP_CHATTER            diag_printf("Network initialization for eth1 from mib %x\n",mib_IP_LAN.IPAddr);#endif            if (!init_net(eth1_name, &eth1_bootp_data)) {                eth1_up = false;#ifdef CYGDBG_NET_DHCP_CHATTER                diag_printf("Network initialization failed for eth1\n");#endif            }        }#ifdef DHCP_FIX//#endif//#ifdef CYGHWR_NET_DRIVER_ETH1_ADDRS_IP                /* default manual IP from           ecos\packages\net\tcpip\v1_0b1\src\lib\network_support.c */        else{                /* update lan from default */              IPADDR    =  inet_addr(string(CYGHWR_NET_DRIVER_ETH1_ADDRS_IP));              IPADDR    =  htonl(IPADDR);              SUBNETMASK = inet_addr(string(CYGHWR_NET_DRIVER_ETH1_ADDRS_NETMASK));              SUBNETMASK = htonl(SUBNETMASK);        }#endif#ifdef CYGDBG_NET_DHCP_CHATTER            diag_printf("init_static_network_interfaces: Lan IP %x mask %x\n",                         IPADDR,                         SUBNETMASK);#endif        close(s);        return;    }    else if (flag == DHCPC_flag_set_from_mib){    	/* set wan info from new static*/        // Clean old static configuration        // get the specific address that was used        if (!dhcp_del_old_ip_and_reset_interface( eth0_name,                                                  s,           										  &ifr)){            close(s);            return;        }        dhcp_build_bootp(&eth0_bootp_data,                           IPADDR,                           SUBNETMASK,                           GWYADDR,                           0);        if (!init_net(eth0_name, &eth0_bootp_data)) {            diag_printf("Network initialization failed for eth0\n");            eth0_up = false;        }        // All done with socket    }    close(s);#else /* previous code */   if (flag != 2)    {        if (IPADDR == 0xffffffff || IPADDR == 0)        {            init_all_network_interfaces(); //initialize network interface first            return ;        }#ifdef CYGHWR_NET_DRIVER_ETH0        eth0_up = true;        bp = &eth0_bootp_data;        bzero(bp, sizeof(struct bootp));        bp->bp_op = BOOTREPLY;        bp->bp_htype = HTYPE_ETHERNET;        bp->bp_hlen = 6;        for (i = 0; i < bp->bp_hlen; i++)        {            bp->bp_chaddr[i] = 0xFF;        }        bp->bp_ciaddr.s_addr = inet_address(mib_DHCP_p->IPAddr);        bp->bp_yiaddr.s_addr = inet_address(mib_DHCP_p->IPAddr);        bp->bp_siaddr.s_addr = inet_address((mib_DHCP_p->IPAddr & 0xffffff00) + 0x64);        bp->bp_giaddr.s_addr = inet_address((mib_DHCP_p->IPAddr & 0xffffff00) + 0x64);        vp = &bp->bp_vend[0];        bcopy(&cookie, vp, sizeof(cookie));        vp += sizeof(cookie);        addr = inet_address(mib_DHCP_p->SubnetMask);        vp = add_tag(vp, TAG_SUBNET_MASK, &addr, sizeof(in_addr_t));        addr = inet_address((mib_DHCP_p->IPAddr & mib_DHCP_p->SubnetMask) ^ (~mib_DHCP_p->SubnetMask));        vp = add_tag(vp, TAG_IP_BROADCAST, &addr, sizeof(in_addr_t));        *vp = TAG_END;#endif#if 0//def CYGHWR_NET_DRIVER_ETH1        eth1_up = true;        bp = &eth1_bootp_data;        bzero(bp, sizeof(struct bootp));        bp->bp_op = BOOTREPLY;        bp->bp_htype = HTYPE_ETHERNET;        bp->bp_hlen = 6;        for (i = 0; i < bp->bp_hlen; i++)        {            bp->bp_chaddr[i] = 0xFF;        }        bp->bp_ciaddr.s_addr = inet_address(mib_DHCP_p->IPAddr);        bp->bp_yiaddr.s_addr = inet_address(mib_DHCP_p->IPAddr);        bp->bp_siaddr.s_addr = inet_address(mib_DHCP_p->GwyAddr & 0xffffff64);        bp->bp_giaddr.s_addr = inet_address(mib_DHCP_p->GwyAddr & 0xffffff64);        vp = &bp->bp_vend[0];        bcopy(&cookie, vp, sizeof(cookie));        vp += sizeof(cookie);        addr = inet_address(mib_DHCP_p->SubnetMask);        vp = add_tag(vp, TAG_SUBNET_MASK, &addr, sizeof(in_addr_t));        addr = inet_address((mib_DHCP_p->IPAddr & mib_DHCP_p->SubnetMask) ^ (~mib_DHCP_p->SubnetMask));        vp = add_tag(vp, TAG_IP_BROADCAST, &addr, sizeof(in_addr_t));        *vp = TAG_END;#endif#ifdef CYGHWR_NET_DRIVER_ETH0#ifndef CYGHWR_NET_DRIVER_ETH0_MANUAL        if (eth0_up)        {            if (!init_net(eth0_name, &eth0_bootp_data))            {                //diag_printf("Network initialization failed for eth0\n");                eth0_up = false;            }        }#endif#endif#if 0//def CYGHWR_NET_DRIVER_ETH1#ifndef CYGHWR_NET_DRIVER_ETH1_MANUAL        if (eth1_up)        {            if (!init_net(eth1_name, &eth1_bootp_data))            {                //diag_printf("Network initialization failed for eth1\n");                eth1_up = false;            }        }#endif#endif    }#endif    if (flag != DHCPC_flag_init_E )    {        update_IP_Info();        cyg_semaphore_post(&ip_ready);    }}// ---------------------------------------------------------------------------//// The point of this module is to deal with all the horrid written out in// full stuff of having two interfaces; it's ugly but it's also most// flexible.  The dhcp_prot.c module should do all the work...//// ---------------------------------------------------------------------------// return value: 1 => everything OK, no change.// 0 => close your connections, then call do_dhcp_halt() to halt the// interface(s) in question (it knows because the state will be NOTBOUND).// After that you can return to the start and use// init_all_network_interfaces(); as usual, or call do_dhcp_bind() by hand,// or whatever...int dhcp_bind( void ){#ifdef CYGHWR_NET_DRIVER_ETH0    cyg_uint8 old_eth0_dhcpstate = eth0_dhcpstate;#endif#if !defined(GATEWAY)#ifdef CYGHWR_NET_DRIVER_ETH1    cyg_uint8 old_eth1_dhcpstate = eth1_dhcpstate;#endif#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区在线观看精品| 奇米在线7777在线精品| 欧美日韩国产经典色站一区二区三区 | 欧美高清性hdvideosex| 久久精品国产77777蜜臀| 亚洲欧洲在线观看av| 欧美一区二区三区白人| 91浏览器入口在线观看| 久久精品99国产国产精| 亚洲午夜免费电影| 国产欧美精品国产国产专区| 免费精品视频在线| 中文字幕一区二区在线观看| 日韩欧美黄色影院| 欧美日韩精品欧美日韩精品一 | 亚洲一区在线视频| 久久噜噜亚洲综合| 7777精品伊人久久久大香线蕉最新版 | 日韩精品国产欧美| 亚洲伦在线观看| 国产欧美一区二区精品仙草咪| 91精品久久久久久久99蜜桃| 91丝袜国产在线播放| 国产不卡一区视频| 国产一区二区福利| 久久国产人妖系列| 日韩精品亚洲专区| 亚洲一级不卡视频| 亚洲一区在线观看免费| 亚洲日本电影在线| 一区视频在线播放| 一区免费观看视频| 亚洲人成在线观看一区二区| 中文字幕第一区第二区| 久久九九影视网| 久久综合999| 欧美精品一区二区久久婷婷| 日韩欧美一卡二卡| 日韩免费观看2025年上映的电影| 制服丝袜激情欧洲亚洲| 欧美日韩国产精品成人| 欧美精品在线观看一区二区| 欧美三级韩国三级日本一级| 在线精品视频小说1| 91福利视频网站| 在线观看日韩一区| 欧美日韩午夜影院| 91精品国产综合久久精品app | 欧美区视频在线观看| 欧美日韩精品欧美日韩精品 | 国产白丝网站精品污在线入口| 国内精品嫩模私拍在线| 国产黄色精品视频| 成人性生交大片免费看中文网站| 丰满少妇在线播放bd日韩电影| 国产高清成人在线| voyeur盗摄精品| 色哟哟国产精品| 欧美性猛交xxxxxxxx| 欧美日韩成人综合天天影院| 4438x亚洲最大成人网| 日韩欧美一级特黄在线播放| 久久嫩草精品久久久精品一| 国产欧美一区二区三区网站| 亚洲日本青草视频在线怡红院| 亚洲成人久久影院| 久久草av在线| 日韩一区二区在线观看视频| 欧美tk丨vk视频| 1024成人网色www| 亚洲资源中文字幕| 美国欧美日韩国产在线播放| 国产成人午夜视频| 日本高清免费不卡视频| 日韩午夜在线影院| 国产精品久久久久久户外露出 | 欧美成人一区二区| 国产精品伦理一区二区| 一区二区三区 在线观看视频| 水蜜桃久久夜色精品一区的特点| 蜜臀av性久久久久蜜臀aⅴ| 丰满白嫩尤物一区二区| 欧美日韩在线观看一区二区| 久久先锋资源网| 亚洲一区二区三区四区不卡| 紧缚奴在线一区二区三区| 99久久久国产精品免费蜜臀| 欧美精品免费视频| 中文字幕第一区二区| 五月天久久比比资源色| 国产成人精品aa毛片| 欧美高清精品3d| 欧美国产精品一区二区三区| 偷窥国产亚洲免费视频| 成人h动漫精品一区二区| 欧美日韩欧美一区二区| 国产精品你懂的在线| 免费在线一区观看| 91传媒视频在线播放| 久久―日本道色综合久久| 亚洲国产乱码最新视频 | 亚洲国产精品成人综合| 天天综合天天做天天综合| 99热在这里有精品免费| 欧美一级二级三级蜜桃| 亚洲欧洲精品天堂一级| 国内久久精品视频| 欧美一区二区三区四区久久| 亚洲少妇最新在线视频| 国产乱子伦视频一区二区三区| 欧美日韩国产系列| 亚洲欧美韩国综合色| 懂色av一区二区在线播放| 日韩女优电影在线观看| 一区二区三区四区高清精品免费观看 | k8久久久一区二区三区| 精品久久久久一区二区国产| 午夜精品国产更新| 日本精品一区二区三区高清| 国产精品色哟哟网站| 国内外精品视频| 91精品国产色综合久久不卡蜜臀 | 国产成人综合在线| 欧美zozozo| 日韩av一级片| 精品视频在线视频| 一区二区三区影院| 91污在线观看| 国产一区二区精品在线观看| 91精品国产麻豆国产自产在线 | 国产精品亚洲а∨天堂免在线| 91精品国产色综合久久不卡蜜臀| 亚洲国产日产av| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲欧美日韩在线| 91同城在线观看| 亚洲人成网站精品片在线观看| 成人免费av网站| 欧美国产日韩一二三区| 成人免费三级在线| 国产精品二三区| jizzjizzjizz欧美| 亚洲欧美激情插| 欧美性一区二区| 亚洲午夜久久久久久久久久久| 一本一道久久a久久精品| 欧美午夜免费电影| 午夜免费久久看| 91精品国产麻豆国产自产在线| 美女久久久精品| 欧美岛国在线观看| 国产精品一区二区x88av| 国产欧美日本一区二区三区| 成人午夜精品在线| 亚洲欧洲国产专区| 欧美亚洲国产一卡| 婷婷综合另类小说色区| 日韩欧美国产电影| 国产很黄免费观看久久| 中文字幕色av一区二区三区| 91视频国产观看| 亚洲成人av福利| 精品国一区二区三区| 丁香激情综合五月| 一区二区三区色| 欧美一区二区高清| 国产河南妇女毛片精品久久久| 国产精品美女久久久久高潮| 色偷偷成人一区二区三区91| 午夜影院久久久| 欧美大度的电影原声| 不卡一区二区在线| 亚洲va欧美va天堂v国产综合| 日韩欧美另类在线| aaa欧美大片| 天天色天天爱天天射综合| 亚洲精品在线三区| 在线观看三级视频欧美| 国模娜娜一区二区三区| 最新国产精品久久精品| 欧美美女bb生活片| 不卡区在线中文字幕| 天天操天天综合网| 国产女主播一区| 欧美日本一道本在线视频| 国产一区在线观看视频| 一区二区三区四区在线播放| 精品国产91九色蝌蚪| 日本精品一级二级| 国产资源精品在线观看| 一区二区欧美精品| 中文字幕欧美激情| 91精品国产免费久久综合| jlzzjlzz国产精品久久| 蜜桃久久久久久| 亚洲欧洲一区二区在线播放| 欧美成人vr18sexvr| 91黄色激情网站| 国产精品自产自拍| 日韩精品一级中文字幕精品视频免费观看|