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

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

?? bnftp.c

?? 打魔獸戰網的都知道他是什么
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * Copyright (C) 1999,2001  Ross Combs (rocombs@cs.nmsu.edu) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */#include "common/setup_before.h"#include <stdio.h>#ifdef HAVE_STDDEF_H# include <stddef.h>#else# ifndef NULL#  define NULL ((void *)0)# endif#endif#ifdef STDC_HEADERS# include <stdlib.h>#endif#include "compat/exitstatus.h"#ifdef HAVE_STRING_H# include <string.h>#else# ifdef HAVE_STRINGS_H#  include <strings.h># endif#endif#ifdef HAVE_MEMORY_H# include <memory.h>#endif#include "compat/memset.h"#include "compat/memcpy.h"#include <ctype.h>#include <errno.h>#include "compat/strerror.h"#ifdef TIME_WITH_SYS_TIME# include <sys/time.h># include <time.h>#else# ifdef HAVE_SYS_TIME_H#  include <sys/time.h># else#  include <time.h># endif#endif#include "compat/strftime.h"#ifdef HAVE_UNISTD_H# include <unistd.h>#endif#ifdef HAVE_TERMIOS_H# include <termios.h>#endif#include "compat/termios.h"#ifdef HAVE_SYS_TYPES_H# include <sys/types.h>#endif#ifdef HAVE_SYS_SOCKET_H# include <sys/socket.h>#endif#include "compat/socket.h"#include "compat/send.h"#ifdef HAVE_SYS_PARAM_H# include <sys/param.h>#endif#ifdef HAVE_NETINET_IN_H# include <netinet/in.h>#endif#include "compat/netinet_in.h"#ifdef HAVE_ARPA_INET_H# include <arpa/inet.h>#endif#include "compat/inet_ntoa.h"#ifdef HAVE_NETDB_H# include <netdb.h>#endif#ifdef HAVE_SYS_STAT_H# include <sys/stat.h>#endif#include "compat/psock.h"#include "common/packet.h"#include "common/init_protocol.h"#include "common/file_protocol.h"#include "common/tag.h"#include "common/bn_type.h"#include "common/field_sizes.h"#include "common/network.h"#include "common/version.h"#include "common/util.h"#include "common/bnettime.h"#ifdef CLIENTDEBUG#include "common/eventlog.h"#endif#include "common/hexdump.h"#include "client.h"#include "common/xalloc.h"#include "common/setup_after.h"static void usage(char const * progname);static void usage(char const * progname){    fprintf(stderr,"usage: %s [<options>] [<servername> [<TCP portnumber>]]\n",progname);    fprintf(stderr,            "    -b, --client=SEXP           report client as Brood Wars\n"            "    -d, --client=DRTL           report client as Diablo Retail\n"            "    --client=DSHR               report client as Diablo Shareware\n"            "    -s, --client=STAR           report client as Starcraft (default)\n");    fprintf(stderr,	    "    --client=SSHR               report client as Starcraft Shareware\n"	    "    -w, --client=W2BN           report client as Warcraft II BNE\n"            "    --client=D2DV               report client as Diablo II\n"            "    --client=D2XP               report client as Diablo II: LoD\n"            "    --client=WAR3               report client as Warcraft III\n"            "    --client=W3XP               report client as Warcraft III: FT\n"            "    --hexdump=FILE              do hex dump of packets into FILE\n");    fprintf(stderr,	    "    --arch=IX86                 report architecture as Windows (x86)\n"	    "    --arch=PMAC                 report architecture as Macintosh\n"	    "    --arch=XMAC                 report architecture as Macintosh OSX\n"	    );    fprintf(stderr,	    "    --startoffset=OFFSET        force offset to be OFFSET\n"	    "    --exists=ACTION             Ask/Overwrite/Backup/Resume if the file exists\n"	    "    --file=FILENAME             use FILENAME instead of asking\n"            "    -h, --help, --usage         show this information and exit\n"            "    -v, --version               print version number and exit\n");    exit(STATUS_FAILURE);}extern int main(int argc, char * argv[]){    int                a;    int                sd;    struct sockaddr_in saddr;    t_packet *         packet;    t_packet *         rpacket;    t_packet *         fpacket;    char const *       clienttag=NULL;    char const *       archtag=NULL;    char const *       servname=NULL;    unsigned short     servport=0;    char const *       hexfile=NULL;    char               text[MAX_MESSAGE_LEN];    char const *       reqfile=NULL;    struct hostent *   host;    unsigned int       commpos;    struct termios     in_attr_old;    struct termios     in_attr_new;    int                changed_in;    unsigned int       currsize;    unsigned int       filelen;    unsigned int       startoffset;    int                startoffsetoverride=0;#define EXIST_ACTION_UNSPEC    -1#define EXIST_ACTION_ASK        0#define EXIST_ACTION_OVERWRITE  1#define EXIST_ACTION_BACKUP     2#define EXIST_ACTION_RESUME     3     int		       exist_action=EXIST_ACTION_UNSPEC;    struct stat        exist_buf;    char const *       filename;    FILE *             fp;    FILE *             hexstrm=NULL;    int                fd_stdin;    t_bnettime         bntime;    time_t             tm;    char               timestr[FILE_TIME_MAXLEN];    unsigned int       screen_width,screen_height;    int                munged;    unsigned int       newproto = 0;    if (argc<1 || !argv || !argv[0])    {	fprintf(stderr,"bad arguments\n");	return STATUS_FAILURE;    }        for (a=1; a<argc; a++)	if (servname && isdigit((int)argv[a][0]) && a+1>=argc)	{            if (str_to_ushort(argv[a],&servport)<0)            {                fprintf(stderr,"%s: \"%s\" should be a positive integer\n",argv[0],argv[a]);                usage(argv[0]);            }	}	else if (!servname && argv[a][0]!='-' && a+2>=argc)	    servname = argv[a];        else if (strcmp(argv[a],"-b")==0 || strcmp(argv[a],"--client=SEXP")==0)        {            if (clienttag)            {                fprintf(stderr,"%s: client type was already specified as \"%s\"\n",argv[0],clienttag);                usage(argv[0]);            }            clienttag = CLIENTTAG_BROODWARS;        }        else if (strcmp(argv[a],"-d")==0 || strcmp(argv[a],"--client=DRTL")==0)        {            if (clienttag)            {                fprintf(stderr,"%s: client type was already specified as \"%s\"\n",argv[0],clienttag);                usage(argv[0]);            }            clienttag = CLIENTTAG_DIABLORTL;        }        else if (strcmp(argv[a],"--client=DSHR")==0)        {            if (clienttag)            {                fprintf(stderr,"%s: client type was already specified as \"%s\"\n",argv[0],clienttag);                usage(argv[0]);            }            clienttag = CLIENTTAG_DIABLOSHR;        }        else if (strcmp(argv[a],"-s")==0 || strcmp(argv[a],"--client=STAR")==0)        {            if (clienttag)            {                fprintf(stderr,"%s: client type was already specified as \"%s\"\n",argv[0],clienttag);                usage(argv[0]);            }            clienttag = CLIENTTAG_STARCRAFT;        }        else if (strcmp(argv[a],"--client=SSHR")==0)        {            if (clienttag)            {                fprintf(stderr,"%s: client type was already specified as \"%s\"\n",argv[0],clienttag);                usage(argv[0]);            }            clienttag = CLIENTTAG_SHAREWARE;        }	else if (strcmp(argv[a],"-w")==0 || strcmp(argv[a],"--client=W2BN")==0)	{            if (clienttag)            {                fprintf(stderr,"%s: client type was already specified as \"%s\"\n",argv[0],clienttag);                usage(argv[0]);            }            clienttag = CLIENTTAG_WARCIIBNE;	}        else if (strcmp(argv[a],"--client=D2DV")==0)        {            if (clienttag)            {                fprintf(stderr,"%s: client type was already specified as \"%s\"\n",argv[0],clienttag);                usage(argv[0]);            }            clienttag = CLIENTTAG_DIABLO2DV;        }        else if (strcmp(argv[a],"--client=D2XP")==0)        {            if (clienttag)            {                fprintf(stderr,"%s: client type was already specified as \"%s\"\n",argv[0],clienttag);                usage(argv[0]);            }            clienttag = CLIENTTAG_DIABLO2XP;        }        else if (strcmp(argv[a],"--client=WAR3")==0)        {            if (clienttag)            {                fprintf(stderr,"%s: client type was already specified as \"%s\"\n",argv[0],clienttag);                usage(argv[0]);            }            clienttag = CLIENTTAG_WARCRAFT3;	    newproto = 1;        }        else if (strcmp(argv[a],"--client=W3XP")==0)        {            if (clienttag)            {                fprintf(stderr,"%s: client type was already specified as \"%s\"\n",argv[0],clienttag);                usage(argv[0]);            }            clienttag = CLIENTTAG_WAR3XP;	    newproto = 1;        }        else if (strncmp(argv[a],"--client=",9)==0)        {            fprintf(stderr,"%s: unknown client tag \"%s\"\n",argv[0],&argv[a][9]);            usage(argv[0]);        }        else if (strcmp(argv[a],"--arch=IX86")==0)        {            if (archtag)            {                fprintf(stderr,"%s: architecture type was already specified as \"%s\"\n",argv[0],archtag);                usage(argv[0]);            }            archtag = ARCHTAG_WINX86;        }        else if (strcmp(argv[a],"--arch=PMAC")==0)        {            if (archtag)            {                fprintf(stderr,"%s: architecture type was already specified as \"%s\"\n",argv[0],archtag);                usage(argv[0]);            }            archtag = ARCHTAG_MACPPC;        }        else if (strcmp(argv[a],"--arch=XMAC")==0)        {            if (archtag)            {                fprintf(stderr,"%s: architecture type was already specified as \"%s\"\n",argv[0],archtag);                usage(argv[0]);            }            archtag = ARCHTAG_OSXPPC;        }        else if (strncmp(argv[a],"--arch=",9)==0)        {            fprintf(stderr,"%s: unknown architecture tag \"%s\"\n",argv[0],&argv[a][9]);            usage(argv[0]);        }	else if (strncmp(argv[a],"--hexdump=",10)==0)	{	    if (hexfile)	    {		fprintf(stderr,"%s: hexdump file was already specified as \"%s\"\n",argv[0],hexfile);		usage(argv[0]);	    }	    hexfile = &argv[a][10];	}	else if (strncmp(argv[a],"--startoffset=",14)==0)	{	    if (startoffsetoverride)	    {		fprintf(stderr,"%s: startoffset was already specified as %u\n",argv[0],startoffset);		usage(argv[0]);	    }            if (str_to_uint(&argv[a][14],&startoffset)<0)            {                fprintf(stderr,"%s: startoffset \"%s\" should be a positive integer\n",argv[0],&argv[a][14]);                usage(argv[0]);            }	    startoffsetoverride = 1;	}	else if (strncmp(argv[a],"--exists=",9)==0)	{	    if (exist_action!=EXIST_ACTION_UNSPEC)	    {		fprintf(stderr,"%s: exists was already specified\n",argv[0]);		usage(argv[0]);	    }	    if (argv[a][9]=='o' || argv[a][9]=='O')	    	exist_action = EXIST_ACTION_OVERWRITE;	    else if (argv[a][9]=='a' || argv[a][9]=='A')	    	exist_action = EXIST_ACTION_ASK;	    else if (argv[a][9]=='b' || argv[a][9]=='B')	    	exist_action = EXIST_ACTION_BACKUP;	    else if (argv[a][9]=='r' || argv[a][9]=='R')	    	exist_action = EXIST_ACTION_RESUME;	    else {		fprintf(stderr,"%s: exists must begin with a,A,o,O,b,B,r or R",argv[0]);		usage(argv[0]);	    }	}	else if (strncmp(argv[a],"--file=",7)==0)	{	    if (reqfile)	    {		fprintf(stderr,"%s: file was already specified as \"%s\"\n",argv[0],reqfile);		usage(argv[0]);	    }	    reqfile = &argv[a][7];	}	else if (strcmp(argv[a],"-v")==0 || strcmp(argv[a],"--version")==0)	{            printf("version "PVPGN_VERSION"\n");            return 0;	}	else if (strcmp(argv[a],"-h")==0 || strcmp(argv[a],"--help")==0 || strcmp(argv[a],"--usage")==0)            usage(argv[0]);        else if (strcmp(argv[a],"--client")==0 || strcmp(argv[a],"--hexdump")==0)        {            fprintf(stderr,"%s: option \"%s\" requires an argument\n",argv[0],argv[a]);            usage(argv[0]);        }	else	{	    fprintf(stderr,"%s: unknown option \"%s\"\n",argv[0],argv[a]);	    usage(argv[0]);	}        if (servport==0)        servport = BNETD_SERV_PORT;    if (!clienttag)        clienttag = CLIENTTAG_STARCRAFT;    if (!archtag)        archtag = ARCHTAG_WINX86;    if (!servname)	servname = BNETD_DEFAULT_HOST;    if (exist_action==EXIST_ACTION_UNSPEC)	exist_action = EXIST_ACTION_ASK;        if (hexfile)    {	if (!(hexstrm = fopen(hexfile,"w")))	    fprintf(stderr,"%s: could not open file \"%s\" for writing the hexdump (fopen: %s)",argv[0],hexfile,pstrerror(errno));	else	  { fprintf(hexstrm,"# dump generated by bnftp version "PVPGN_VERSION"\n"); }    }        if (psock_init()<0)    {        fprintf(stderr,"%s: could not inialialize socket functions\n",argv[0]);        return STATUS_FAILURE;    }        if (!(host = gethostbyname(servname)))    {	fprintf(stderr,"%s: unknown host \"%s\"\n",argv[0],servname);	return STATUS_FAILURE;    }        fd_stdin = fileno(stdin);    if (tcgetattr(fd_stdin,&in_attr_old)>=0)    {        in_attr_new = in_attr_old;        in_attr_new.c_lflag &= ~(ECHO | ICANON); /* turn off ECHO and ICANON */	in_attr_new.c_cc[VMIN]  = 1; /* require reads to return at least one byte */        in_attr_new.c_cc[VTIME] = 0; /* no timeout */        tcsetattr(fd_stdin,TCSANOW,&in_attr_new);        changed_in = 1;    }    else    {	fprintf(stderr,"%s: could not get terminal attributes for stdin\n",argv[0]);	changed_in = 0;    }        if (client_get_termsize(fd_stdin,&screen_width,&screen_height)<0)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区三区免费观看视频 | 亚洲女性喷水在线观看一区| 欧美成人精品3d动漫h| 欧美图区在线视频| 欧美肥妇bbw| 欧美一区二区三区免费观看视频| 欧美日韩黄视频| 91精品国产免费| 日韩免费看网站| 久久综合色8888| 国产精品电影院| 亚洲成a人片在线不卡一二三区 | 国产视频一区二区在线| 国产亚洲成aⅴ人片在线观看| 国产午夜精品福利| 中文字幕在线不卡一区| 一区二区三区色| 婷婷六月综合亚洲| 国内精品写真在线观看| 成人动漫一区二区在线| 欧美午夜理伦三级在线观看| 欧美videofree性高清杂交| 久久久www成人免费无遮挡大片 | 日韩午夜在线观看| 亚洲国产精品av| 午夜在线电影亚洲一区| 国产一区二区三区四区五区美女| 99国产精品久| 日韩精品中文字幕一区二区三区| 亚洲国产精品黑人久久久| 一区二区成人在线视频| 蜜桃视频在线观看一区二区| 成人深夜福利app| 7777精品伊人久久久大香线蕉完整版| 久久九九全国免费| 亚洲观看高清完整版在线观看| 久久99热这里只有精品| 色综合欧美在线| 久久久精品国产99久久精品芒果| 亚洲欧美偷拍另类a∨色屁股| 老司机精品视频在线| 波多野结衣91| 精品av久久707| 一区二区视频在线| 国产成人av电影免费在线观看| 欧美色大人视频| 中文字幕制服丝袜成人av | 国产精品久久午夜夜伦鲁鲁| 日日夜夜一区二区| 日本高清免费不卡视频| 国产色产综合产在线视频| 日韩精品每日更新| 色综合天天综合网天天看片| 中文字幕国产一区二区| 乱中年女人伦av一区二区| 欧美日韩一区二区在线观看视频 | 久久久91精品国产一区二区三区| 亚洲一级二级三级在线免费观看| 东方欧美亚洲色图在线| 337p日本欧洲亚洲大胆色噜噜| 亚洲18色成人| 欧美三级三级三级爽爽爽| 亚洲欧美日韩系列| caoporn国产精品| 国产精品情趣视频| 成人一级视频在线观看| 欧美激情一区二区三区| 国产乱码精品一品二品| 337p粉嫩大胆色噜噜噜噜亚洲| 另类中文字幕网| 精品1区2区在线观看| 激情国产一区二区| 2023国产精品自拍| 国产精品一区免费在线观看| www精品美女久久久tv| 国产精品资源在线观看| 久久久噜噜噜久久人人看 | 国产精品久久看| 99视频国产精品| 亚洲精品乱码久久久久久黑人 | 9人人澡人人爽人人精品| 国产精品伦理一区二区| 暴力调教一区二区三区| 亚洲日本va午夜在线影院| 99re8在线精品视频免费播放| 亚洲日韩欧美一区二区在线| 色94色欧美sute亚洲线路一久| 亚洲一区中文日韩| 欧美一区二区三区在线观看 | 欧美日韩视频在线观看一区二区三区| 一区二区三区四区蜜桃| 91精品国产福利在线观看| 精品午夜一区二区三区在线观看| 精品精品国产高清一毛片一天堂| 国产成人免费视频网站| 一区二区三区四区亚洲| 69堂精品视频| 成人黄色电影在线 | 日本亚洲视频在线| 国产精品你懂的| 欧美精品黑人性xxxx| 国产自产视频一区二区三区| 亚洲人成人一区二区在线观看| 欧美欧美欧美欧美首页| 极品美女销魂一区二区三区| 亚洲人成7777| 精品粉嫩超白一线天av| 色系网站成人免费| 国产在线一区二区| 亚洲国产精品精华液网站| 久久久精品黄色| 制服丝袜亚洲色图| 91免费观看在线| 蜜桃视频在线一区| 一区二区激情小说| 国产午夜亚洲精品理论片色戒| 91黄色小视频| 成人免费看片app下载| 五月综合激情日本mⅴ| 亚洲国产精品成人综合色在线婷婷| 欧美专区日韩专区| 成人福利电影精品一区二区在线观看| 日韩高清一级片| 亚洲综合一区二区精品导航| 久久久久久久久久电影| 7777精品伊人久久久大香线蕉完整版 | 9i看片成人免费高清| 青椒成人免费视频| 一区二区免费在线| 综合婷婷亚洲小说| 国产精品天天看| 久久精品一区二区三区不卡牛牛| 欧美日韩三级在线| 欧洲国产伦久久久久久久| www.欧美日韩| 99麻豆久久久国产精品免费优播| 六月丁香婷婷久久| 蜜桃视频免费观看一区| 五月婷婷欧美视频| 亚洲午夜久久久久中文字幕久| 亚洲人成网站精品片在线观看| 国产精品毛片久久久久久久| 日本一区二区三区电影| 精品日韩在线观看| 精品久久久久久久久久久久包黑料 | 国产又粗又猛又爽又黄91精品| 亚洲福利视频一区二区| 亚洲午夜激情av| 亚洲国产欧美日韩另类综合| 一区二区三区精品在线| 亚洲免费看黄网站| 亚洲综合在线第一页| 亚洲一区二区三区三| 亚洲香肠在线观看| 婷婷成人激情在线网| 亚洲第一综合色| 日韩不卡免费视频| 蓝色福利精品导航| 麻豆成人久久精品二区三区红 | 亚洲欧美一区二区久久 | 欧美性极品少妇| 欧美人妖巨大在线| 欧美大片免费久久精品三p| 精品久久久久香蕉网| 久久一区二区三区国产精品| 国产午夜精品一区二区| 国产精品美女久久久久久2018 | 日韩二区在线观看| 激情综合网av| eeuss影院一区二区三区| 色8久久精品久久久久久蜜| 欧美视频中文字幕| 日韩视频在线观看一区二区| 久久先锋影音av鲁色资源网| 久久久久久久久一| 一区二区视频在线看| 日韩电影免费一区| 国产老妇另类xxxxx| 91在线porny国产在线看| 欧美视频三区在线播放| 久久品道一品道久久精品| 最新不卡av在线| 日韩av一级电影| 成人av综合一区| 宅男噜噜噜66一区二区66| 亚洲国产精品99久久久久久久久 | 奇米在线7777在线精品| 国产成人aaaa| 欧美男女性生活在线直播观看| 久久精品一级爱片| 首页亚洲欧美制服丝腿| 99在线精品观看| 日韩一区二区视频| 亚洲精品伦理在线| 国产美女主播视频一区| 欧美日韩精品一区二区在线播放| 久久亚区不卡日本| 日本免费新一区视频| 91亚洲男人天堂| 国产欧美va欧美不卡在线|