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

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

?? host.c

?? dos 下 網絡協議 dos 下 網絡協議
?? C
?? 第 1 頁 / 共 2 頁
字號:
*   returns the appropriate status code and if the ip number is available,
*   copies it into mip
*/
static longword ddextract(qp,mip)
struct useek *qp;
unsigned char *mip;
{
    word i,j,nans,rcode;
    struct rrpart *rrp;
    byte *p,space[260];

    nans = intel16(qp->h.ancount);		/* number of answers */
    rcode = DRCODE & intel16(qp->h.flags);	/* return code for this message*/
    if (rcode > 0)
	return(rcode);

    if (nans > 0 &&								/* at least one answer */
    (intel16(qp->h.flags) & DQR)) {			/* response flag is set */
    p = (byte *)&qp->x;                 /* where question starts */
	i = unpackdom(space,p,qp);				/* unpack question name */
	/*  spec defines name then  QTYPE + QCLASS = 4 bytes */
	p += i+4;
printf(" NAME : ? %s\n", space );
        
/*
 *  at this point, there may be several answers.  We will take the first
 *  one which has an IP number.  There may be other types of answers that
 *  we want to support later.
 */
	while (nans-- > 0) {					/* look at each answer */
	    i = unpackdom(space,p,qp);			/* answer name to unpack */
	    /*			n_puts(space);*/
	    p += i;								/* account for string */
	    rrp = (struct rrpart *)p;			/* resource record here */
 /*
  *  check things which might not align on 68000 chip one byte at a time
  */
	    if (!*p && *(p+1) == DTYPEA && 		/* correct type and class */
	    !*(p+2) && *(p+3) == DIN) {
		movmem(rrp->rdata,mip,4);	/* save IP # 		*/
		return(0);						/* successful return */
	    }
	    movmem(&rrp->rdlength,&j,2);	/* 68000 alignment */
	    p += 10+intel16(j);				/* length of rest of RR */
	}
    }

    return(-1);						/* generic failed to parse */
}

/*********************************************************************/
/*  getdomain
*   Look at the results to see if our DOMAIN request is ready.
*   It may be a timeout, which requires another query.
*/

static longword udpdom()
{
    int i,uret;
    longword desired;

    uret = sock_fastread(dom_sock, question, sizeof(struct useek ));
    /* this does not happen */
    if (uret < 0) {
	/*		netputevent(USERCLASS,DOMFAIL,-1);  */
	return(-1);
    }

 /* num = intel16(question->h.ident); */     /* get machine number */
/*
 *  check to see if the necessary information was in the UDP response
 */

    i = ddextract(question, &desired);
    switch (i) {
        case 3:	return(0);		/* name does not exist */
        case 0: return(intel(desired)); /* we found the IP number */
        case -1:return( 0 );		/* strange return code from ddextract */
        default:return( 0 );            /* dunno */
    }
}


/**************************************************************************/
/*  Sdomain
*   DOMAIN based name lookup
*   query a domain name server to get an IP number
*	Returns the machine number of the machine record for future reference.
*   Events generated will have this number tagged with them.
*   Returns various negative numbers on error conditions.
*
*   if adddom is nonzero, add default domain
*/
static longword Sdomain(mname, adddom, nameserver, timedout )
char *mname;
int adddom;
longword nameserver;
int *timedout;	/* set to 1 on timeout */
{
    char namebuff[512];
    int isaname;
    int domainsremaining;
    int status, i;
    longword response;

    isaname = !isaddr( mname );
    response = 0;
    *timedout = 1;

    if (!nameserver) {	/* no nameserver, give up now */
	outs("No nameserver defined!\n\r");
	return(0);
    }

    while (*mname && *mname < 33) mname ++;   /* kill leading spaces */

    if (!(*mname))
	return(0L);

    question->h.flags = intel16(DRD);   /* use recursion */
    question->h.qdcount = 0;
    question->h.ancount = 0;
    question->h.nscount = 0;
    question->h.arcount = 0;

    qinit();				/* initialize some flag fields */

    strcpy( namebuff, mname );

    if ( isaname ) {
        /* forward lookup */
        /* only add these things if we are doing a real name */

        question->h.qdcount = intel16(1);
        if ( adddom ) {
            if(namebuff[strlen(namebuff)-1] != '.') {       /* if no trailing dot */
                if(loc_domain) {             /* there is a search list */
                    domainsremaining = countpaths( loc_domain );

                    strcat(namebuff,".");
                    strcat(namebuff,getpath(loc_domain,1));
                }
            } else
                namebuff[ strlen(namebuff)-1] = 0;  /* kill trailing dot */
        }
    } else {
        /* reverse lookup */
        question->h.ancount = intel16(1);

    }
    /*
     * This is not terribly good, but it attempts to use a binary
     * exponentially increasing delays.
     */

     for ( i = 2; i < 17; i *= 2) {
        if ( isaname ) sendom(namebuff,nameserver, 0xf001);    /* try UDP */
        else sendrdom( namebuff, nameserver, 0xf001 );

        ip_timer_init( dom_sock, i );
        do {
            kbhit();
            tcp_tick( dom_sock );
            if (ip_timer_expired( dom_sock )) break;
            if ( watcbroke ) {
                break;
            }
            if (chk_timeout( timeoutwhen ))
                break;
            if ( sock_dataready( dom_sock )) *timedout = 0;
        } while ( *timedout );

	if ( !*timedout ) break;	/* got an answer */
    }

    if ( !*timedout )
	response = udpdom();	/* process the received data */

    sock_close( dom_sock );
    return( response );
}

/*
 * nextdomain - given domain and count = 0,1,2,..., return next larger
 *		domain or NULL when no more are available
 */
static char *nextdomain( char *domain, int count )
{
    char *p;
    int i;

    p = domain;

    for (i = 0; i < count; ++i) {
	p = strchr( p, '.' );
	if (!p) return( NULL );
	++p;
    }
    return( p );
}


/*
 * newresolve()
 * 	convert domain name -> address resolution.
 * 	returns 0 if name is unresolvable right now
 */
longword newresolve(name)
char *name;
{
    longword ip_address, temp;
    int count, i;
    byte timeout[ MAX_NAMESERVERS ];
    struct useek qp;        /* temp buffer */
    udp_Socket ds;          /* temp buffer */
    word oldhndlcbrk;


    question = &qp;
    dom_sock = &ds;
    if (!name) return( 0 );
    rip( name );

    if (!_domaintimeout) _domaintimeout = sock_delay << 2;
    timeoutwhen = set_timeout( _domaintimeout );

    count = 0;
    memset( &timeout, 0, sizeof( timeout ));

    oldhndlcbrk = wathndlcbrk;
    wathndlcbrk = 1;        /* enable special interrupt mode */
    watcbroke = 0;
    do {
	if (!(loc_domain = nextdomain( def_domain, count )))
		count = -1;	/* use default name */

	for ( i = 0; i < _last_nameserver ; ++i ) {
	    if (!timeout[i])
		if (ip_address = Sdomain( name , count != -1 ,
			def_nameservers[i], &timeout[i] ))
		    break;	/* got name, bail out of loop */
	}

	if (count == -1) break;
	count++;
    } while (!ip_address);
    watcbroke = 0;          /* always clean up */
    wathndlcbrk = oldhndlcbrk;

    return( ip_address );
}



main(int argc, char **argv )
{
    char *name;
    longword host;
    int status,i;
    char buffer[ 20];

    if (argc < 2) {
        puts("HOST  hostname");
        exit(3);
    }

    sock_init();

    for ( i = 1 ; i < argc ; ++i ) {
        if ((*argv[i] == '/') || (*argv[i] == '-' )) {
        }
        else {
            name = strdup( argv[i] );

            printf("resolving \"%s\"...", name );
            host = newresolve( name );
            printf("\r");
            clreol();
        }
    }
    if ( host ) {
        printf("\r");
        clreol();
        printf("%s : %s\n", name, inet_ntoa( buffer , host ));
    }
    exit( host ? 0 : 1 );
}
/* udpdom &&  ddextract(question, &desired); */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
caoporn国产一区二区| 99在线精品免费| 久久久综合九色合综国产精品| 99久久99精品久久久久久| 婷婷综合五月天| 国产在线精品视频| 亚洲高清视频的网址| 国产精品乱人伦一区二区| 欧美福利一区二区| 色婷婷综合久久久中文字幕| 高清日韩电视剧大全免费| 奇米综合一区二区三区精品视频| 一区二区三区中文字幕精品精品 | 91精品久久久久久蜜臀| 91美女视频网站| 国产成人欧美日韩在线电影 | 色就色 综合激情| 成人免费va视频| 国产成人综合自拍| 首页欧美精品中文字幕| av高清不卡在线| 乱一区二区av| 日韩专区在线视频| 一区二区三区资源| 亚洲欧美自拍偷拍| 国产精品网站一区| 国产亚洲精品精华液| 精品免费视频.| 樱花草国产18久久久久| 中文字幕av一区二区三区| 久久免费视频色| 亚洲精品一线二线三线无人区| 欧美久久久久久蜜桃| 欧美三级电影在线看| 日本韩国欧美三级| 色综合久久久网| 99精品国产视频| 成人免费av在线| av不卡免费在线观看| 亚洲特黄一级片| 91精品国产综合久久久久久漫画| 欧美三级日韩三级| 欧美色精品在线视频| 欧美日韩国产一级片| 欧美亚洲国产bt| 欧美日韩视频在线观看一区二区三区 | 国产精品美女一区二区在线观看| 久久嫩草精品久久久久| 欧美精品一区二区三区四区 | 国产精品不卡在线观看| 亚洲视频在线观看三级| 日韩美女精品在线| 一区二区三区影院| 天堂蜜桃91精品| 欧美aaaaa成人免费观看视频| 午夜a成v人精品| 韩国v欧美v亚洲v日本v| 国产精品一卡二卡在线观看| 国产精品综合av一区二区国产馆| 日韩欧美激情一区| 精品剧情v国产在线观看在线| 久久老女人爱爱| 亚洲精品日产精品乱码不卡| 亚洲h精品动漫在线观看| 久久狠狠亚洲综合| 国产福利视频一区二区三区| 99国产精品国产精品久久| 欧美天堂亚洲电影院在线播放| 日韩一区二区视频| 日本一区二区三区电影| 亚洲综合无码一区二区| 免费观看在线色综合| 成人一区二区三区中文字幕| 91精品福利视频| 精品国产精品网麻豆系列| 国产精品进线69影院| 亚洲aⅴ怡春院| 国产1区2区3区精品美女| 欧美唯美清纯偷拍| 欧美精品一区二区三区四区| 亚洲综合无码一区二区| 国产精品一卡二| 7777精品伊人久久久大香线蕉超级流畅| 久久伊人蜜桃av一区二区| 亚洲精品视频一区二区| 韩国毛片一区二区三区| 色视频成人在线观看免| 久久美女艺术照精彩视频福利播放| 亚洲欧美日韩在线不卡| 国产又黄又大久久| 欧美美女bb生活片| 国产精品麻豆欧美日韩ww| 日本不卡在线视频| 91美女精品福利| 久久女同性恋中文字幕| 午夜视频一区在线观看| 成人av一区二区三区| 日韩欧美国产三级电影视频| 一区二区在线观看免费| 黄色日韩三级电影| 欧美军同video69gay| 亚洲三级在线观看| 国产成都精品91一区二区三| 日韩一区二区在线看| 亚洲国产成人av| 91污片在线观看| 中文字幕高清不卡| 黄色日韩三级电影| 91精品国产品国语在线不卡| 夜夜揉揉日日人人青青一国产精品| 国产成人综合在线观看| 精品国产免费人成在线观看| 丝袜诱惑制服诱惑色一区在线观看 | 精品国产亚洲在线| 亚洲精品久久7777| 99精品热视频| 亚洲人成精品久久久久久| www.激情成人| **网站欧美大片在线观看| 成+人+亚洲+综合天堂| 久久精品视频在线免费观看| 国产剧情在线观看一区二区| 国产精品免费久久| 国产精品色婷婷| 中文幕一区二区三区久久蜜桃| 中文字幕一区二区三区不卡| 国产精品自拍网站| 欧美高清视频一二三区 | 午夜久久电影网| 亚洲mv大片欧洲mv大片精品| 一本高清dvd不卡在线观看| 国产亚洲污的网站| 国产精品一区二区三区四区| 久久亚洲一区二区三区四区| 国产在线视频精品一区| 久久精品日韩一区二区三区| 国产一区亚洲一区| 久久久777精品电影网影网| 精东粉嫩av免费一区二区三区| 日韩精品一区二区在线| 国产一区在线看| 国产日韩精品视频一区| 成人综合在线观看| 一色屋精品亚洲香蕉网站| 91丨九色porny丨蝌蚪| 久久综合一区二区| 日本成人在线视频网站| 日韩一本二本av| 国产一区二区免费看| 国产日韩欧美综合一区| 成av人片一区二区| 亚洲一区二区在线免费看| 666欧美在线视频| 国产美女在线精品| 亚洲欧美一区二区三区孕妇| 欧美亚洲自拍偷拍| 婷婷亚洲久悠悠色悠在线播放| 欧美一个色资源| 国产精品538一区二区在线| 中文字幕亚洲区| 精品视频一区三区九区| 激情深爱一区二区| 中文字幕日本乱码精品影院| 欧美日韩电影在线播放| 久久99热99| 亚洲天堂免费在线观看视频| 免费在线一区观看| 亚洲激情图片qvod| 国产精品1024久久| 91福利在线免费观看| 一本色道**综合亚洲精品蜜桃冫 | 欧美日韩在线播放三区| 日韩欧美综合在线| 欧美视频完全免费看| 在线精品视频一区二区三四| 91网站视频在线观看| 色婷婷国产精品| 欧美一区二区三区白人| 久久亚洲私人国产精品va媚药| 亚洲成av人片在www色猫咪| 精品av综合导航| 91视频在线看| 精品亚洲成av人在线观看| 亚洲人成在线播放网站岛国| 欧美一区二区免费| 色婷婷综合久久| 国产一区二区精品久久99| 一区二区三区四区在线播放| 亚洲精品在线网站| 欧洲精品中文字幕| 国产a久久麻豆| 免费三级欧美电影| 亚洲综合在线免费观看| 国产调教视频一区| 欧美一区2区视频在线观看| gogogo免费视频观看亚洲一| 韩国av一区二区三区四区| 亚洲一区二区三区中文字幕| 国产精品欧美综合在线| 欧美一级黄色录像|