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

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

?? ftp.c

?? 操作系統源代碼
?? C
字號:
/* ftp.c by Michael Temari 06/21/92 * * ftp          An ftp client program for use with TNET. * * Usage:       ftp [[host] [port]] * * Version:     0.10    06/21/92 (pre-release not yet completed) *              0.20    07/01/92 *              0.30    01/15/96 (Minix 1.7.1 initial release) *              0.40    08/27/96 * * Author:      Michael Temari, <temari@ix.netcom.com> */#include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <string.h>#include "ftp.h"#include "local.h"#include "file.h"#include "other.h"#include "net.h"FILE *fpcommin;FILE *fpcommout;int linkopen;int loggedin;int type;int format;int mode;int structure;int passive;int atty;int cmdargc;char *cmdargv[NUMARGS];char reply[1024];_PROTOTYPE(static int makeargs, (char *buff));_PROTOTYPE(int DOhelp, (void));_PROTOTYPE(int main, (int argc, char *argv[]));static int makeargs(buff)char *buff;{char *p;int i;   for(i = 0; i < NUMARGS; i++)	cmdargv[i] = (char *)0;   p = buff + strlen(buff) - 1;   while(p != buff)	if(*p == '\r' || *p == '\n' || isspace(*p))		*p-- = '\0';	else		break;   p = buff;   cmdargc = 0;   while(cmdargc < NUMARGS) {	while(*p && isspace(*p))		p++;	if(*p == '\0')		break;	cmdargv[cmdargc++] = p;	while(*p && !isspace(*p)) {		if(cmdargc == 1)			*p = tolower(*p);		p++;	}	if(*p == '\0')		break;	*p = '\0';	p++;   }}int readline(prompt, buff, len)char *prompt;char *buff;int len;{   printf(prompt); fflush(stdout);   if(fgets(buff, len, stdin) == (char *)NULL) {	printf("\nEnd of file on input!\n");	exit(1);   }   *strchr(buff, '\n') = 0;   if(!atty) {	printf("%s\n", buff);	fflush(stdout);   }   return(0);}int DOgetreply(){char *p;char buff[6];int s;int firsttime;   do {	firsttime = 1;	do {		if(fgets(reply, sizeof(reply), fpcommin) == (char *)0)			return(-1);		p = reply + strlen(reply) - 1;		while(p != reply)			if(*p == '\r' || *p == '\n' || isspace(*p))				*p-- = '\0';			else				break;		printf("%s\n", reply); fflush(stdout);		if(firsttime) {			firsttime = 0;			strncpy(buff, reply, 4);			buff[3] = ' ';		}	   } while(strncmp(reply, buff, 3) || reply[3] == '-');	   s = atoi(buff);   } while(s < 200 && s != 125 & s != 150);   return(s);}int DOcmdcheck(){   if(!linkopen) {	printf("You must \"OPEN\" a connection first.\n");	return(1);   }   if(!loggedin) {	printf("You must login first.\n");	return(1);   }   return(0);}int DOcommand(ftpcommand, ftparg)char *ftpcommand;char *ftparg;{   if(*ftparg)	fprintf(fpcommout, "%s %s\r\n", ftpcommand, ftparg);   else   	fprintf(fpcommout, "%s\r\n", ftpcommand);   fflush(fpcommout);   return(DOgetreply());}int DOhelp(){char junk[10];   printf("Command:      Description\n");   printf("!             Escape to a shell\n");   printf("append        Append a file to remote host\n");   printf("ascii         Set file transfer mode to ascii\n");   printf("binary        Set file transfer mode to binary\n");   printf("bye           Close connection and exit\n");   printf("cd            Change directory on remote host\n");   printf("close         Close connection\n");   printf("del           Remove file on remote host\n");   printf("dir           Display long form remote host directory listing\n");   printf("exit          Close connection and exit\n");   printf("get           Retrieve a file from remote host\n");   printf("help          Display this text\n");   printf("lcd           Change directory on local host\n");   printf("ldir          Display long form local host directory listing\n");   printf("lls           Display local host directory listing\n");   printf("lmkdir        Create directory on local host\n");   printf("lpwd          Display current directory on local host\n");   printf("lrmdir        Remove directory on local host\n");   printf("ls            Display remote host directory listing\n");   printf("mget          Retrieve multiple files from remote host\n");   printf("mkdir         Create directory on remote host\n");   printf("mod           Get file modification time\n");   readline("Press ENTER to continue... ", junk, sizeof(junk));   printf("mput          Send multiple files to remote host\n");   printf("noop          Send the ftp NOOP command\n");   printf("open          Open connection to remote host\n");   printf("pass          Enter remote user password\n");   printf("passive       Toggle passive mode\n");   printf("put           Send a file to remote host\n");   printf("putu          Send a file to remote host(unique)\n");   printf("pwd           Display current directory on remote host\n");   printf("quit          Close connection and exit\n");   printf("quote         Send raw ftp command to remote host\n");   printf("reget         Restart a partial file retrieve from remote host\n");   printf("remotehelp    Display ftp commands implemented on remote host\n");   printf("reput         Restart a partial file send to remote host\n");   printf("rm            Remove file on remote host\n");   printf("rmdir         Remove directory on remote host\n");   printf("site          Send a site specific command\n");   printf("size          Get file size information\n");   printf("status        Get connection/file status information\n");   printf("system        Get remote system type information\n");   printf("user          Enter remote user information\n");   return(0);}struct commands {	char *name;	_PROTOTYPE(int (*func), (void));};static struct commands commands[] = {        "!",            DOlshell,	"append",	DOappe,	"ascii",        DOascii,	"binary",       DObinary,	"bye",          DOquit,	"cd",           DOcd,	"close",        DOclose,	"del",          DOdelete,	"dir",          DOlist,	"exit",         DOquit,	"get",          DOretr,	"help",         DOhelp,	"lcd",          DOlcd,        "ldir",         DOllist,        "lls",          DOlnlst,	"lmkdir",       DOlmkdir,	"lpwd",         DOlpwd,	"lrmdir",       DOlrmdir,	"ls",           DOnlst,	"mget",         DOMretr,	"mkdir",        DOmkdir,	"mod",		DOmdtm,	"mput",         DOMstor,	"noop",         DOnoop,	"open",         DOopen,	"pass",		DOpass,	"passive",      DOpassive,	"put",          DOstor,	"putu",		DOstou,	"pwd",          DOpwd,	"quit",         DOquit,	"quote",        DOquote,	"reget",	DOrretr,	"remotehelp",   DOremotehelp,	"reput",	DOrstor,	"rm",           DOdelete,	"rmdir",        DOrmdir,	"site",		DOsite,	"size",		DOsize,	"status",	DOstat,	"system",	DOsyst,	"user",         DOuser,	"",     (int (*)())0};int main(argc, argv)int argc;char *argv[];{int s;struct commands *cmd;static char buffer[128];   NETinit();   FTPinit();   s = 0;   if(argc > 1) {	sprintf(buffer, "open %s ", argv[1]);	makeargs(buffer);	s = DOopen();	if(atty && s > 0) {		sprintf(buffer, "user");		makeargs(buffer);		s = DOuser();	}   }   while(s >= 0) {	readline("ftp>", buffer, sizeof(buffer));	makeargs(buffer);	if(cmdargc == 0) continue;	for(cmd = commands; *cmd->name != '\0'; cmd++)		if(!strcmp(cmdargv[0], cmd->name))			break;	if(*cmd->name != '\0')		s = (*cmd->func)();	else {		s = 0;		printf("Command \"%s\" not recognized.\n", cmdargv[0]);	}   }   return(0);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久精品一区| 日韩精品一区二区三区swag | 狠狠色丁香久久婷婷综合丁香| 欧美天堂一区二区三区| 丝袜诱惑亚洲看片| 日韩欧美aaaaaa| 国产精品 日产精品 欧美精品| 久久久久88色偷偷免费| 成人免费高清在线| 亚洲高清免费视频| 欧美v日韩v国产v| 一本一道久久a久久精品综合蜜臀| 亚洲男人的天堂一区二区| 在线观看区一区二| 久久99热99| 亚洲乱码国产乱码精品精小说 | 91免费观看国产| 午夜精品久久久| 亚洲国产成人午夜在线一区| av成人老司机| 久久99国产精品久久99| 中文字幕欧美国产| 欧美色综合影院| 国产.精品.日韩.另类.中文.在线.播放| 日韩美女视频一区二区| 欧美成人国产一区二区| 欧美日韩精品欧美日韩精品一| 国产精品一线二线三线精华| 午夜a成v人精品| 亚洲欧美日韩国产另类专区| 26uuu欧美| 日韩一级黄色大片| 欧美一区二区黄色| 色天天综合色天天久久| 国产精品一二二区| 国产乱码精品一品二品| 日本不卡的三区四区五区| 亚洲最新在线观看| 亚洲欧美一区二区三区国产精品 | 亚洲成人精品一区| 欧美一级在线观看| 精品在线播放午夜| 免费国产亚洲视频| 亚洲欧美一区二区三区久本道91 | 激情五月婷婷综合| 亚洲免费av在线| 一区二区中文字幕在线| 久久综合给合久久狠狠狠97色69| 欧美美女黄视频| 欧美日韩精品欧美日韩精品一综合| 99在线精品视频| 色综合色狠狠天天综合色| 91亚洲国产成人精品一区二区三| 精品一区二区三区蜜桃| 国产乱对白刺激视频不卡| 激情综合网激情| 日本强好片久久久久久aaa| 五月激情丁香一区二区三区| 亚洲一区二区三区四区在线免费观看| 一区二区三区蜜桃| 国产剧情一区二区三区| 成人av在线网| 国产三级精品三级在线专区| 日韩欧美国产精品一区| 国产欧美一区二区精品婷婷| 中文字幕巨乱亚洲| 夜夜精品视频一区二区| 日韩黄色免费电影| 国产乱对白刺激视频不卡| 91在线视频观看| 日韩欧美国产一区二区在线播放 | 91在线视频官网| 欧美一级精品在线| 国产精品成人网| 日本怡春院一区二区| 99久久精品免费| 精品国产1区二区| 一区二区三区精密机械公司| 毛片av一区二区| 在线中文字幕一区| 日本一区二区三区四区在线视频| 日韩精品电影在线观看| 色嗨嗨av一区二区三区| 久久久噜噜噜久久中文字幕色伊伊| 亚洲欧美日韩久久| 欧美在线高清视频| 国产日产欧美一区| 精品一区二区三区免费| 91精品国产手机| 日韩高清一级片| 欧美性受xxxx黑人xyx| 国产精品美女视频| 国产精品一品二品| 欧美tickle裸体挠脚心vk| 亚洲图片自拍偷拍| 成人av网站在线| 亚洲日韩欧美一区二区在线| 国产91综合一区在线观看| 精品av久久707| 激情五月婷婷综合网| 亚洲国产高清不卡| 在线观看日韩电影| 亚洲人吸女人奶水| 91久久精品一区二区三| 一区二区三区在线看| 在线电影欧美成精品| 丝袜诱惑亚洲看片| 日韩视频免费直播| 国产福利视频一区二区三区| www国产成人免费观看视频 深夜成人网| 午夜精品在线看| 精品女同一区二区| 99久久夜色精品国产网站| 亚洲精品免费看| 欧美一区二区三区啪啪| 国产不卡在线视频| 午夜精品成人在线| 国产欧美精品一区| 欧美在线观看一区| 韩国三级在线一区| 亚洲国产日日夜夜| 国产农村妇女毛片精品久久麻豆 | 亚洲乱码国产乱码精品精小说| 欧美一区二区三区婷婷月色| 99久久777色| 精品一区二区三区的国产在线播放| 久久久久国产精品麻豆ai换脸| 色综合久久中文字幕综合网| 喷白浆一区二区| 亚洲综合一区二区精品导航| 中文字幕av一区 二区| 日韩一区二区高清| 欧美自拍偷拍一区| 成人免费不卡视频| 国产一区二区在线看| 无吗不卡中文字幕| 亚洲成人精品影院| 亚洲国产精品麻豆| 亚洲第一在线综合网站| 亚洲6080在线| 天堂成人国产精品一区| 日本在线播放一区二区三区| 亚洲午夜在线观看视频在线| 自拍偷在线精品自拍偷无码专区| 精品少妇一区二区三区免费观看| 欧美日韩一区国产| 91视频91自| 欧美午夜不卡在线观看免费| 色婷婷综合五月| 色先锋aa成人| 欧美日韩国产首页在线观看| 欧美久久久久久久久久| 日韩视频国产视频| 中文字幕av一区二区三区免费看 | 一区视频在线播放| 亚洲欧洲日韩av| 一区二区三区在线观看国产| 亚洲第一福利视频在线| 天堂va蜜桃一区二区三区| 久久精品av麻豆的观看方式| 久久99精品久久久久| 国产ts人妖一区二区| 93久久精品日日躁夜夜躁欧美| 欧美亚洲一区二区在线观看| 在线不卡免费欧美| 欧美国产日产图区| 亚洲超碰精品一区二区| 国产aⅴ综合色| 91免费精品国自产拍在线不卡| 欧美高清视频一二三区| 中文字幕成人av| 喷白浆一区二区| 91成人网在线| 自拍av一区二区三区| 成人小视频在线| 久久久久久97三级| 奇米影视一区二区三区小说| 欧美在线|欧美| 国产精品传媒在线| 成人av影视在线观看| 久久众筹精品私拍模特| 日韩专区中文字幕一区二区| 日本国产一区二区| 亚洲婷婷综合色高清在线| 91老师片黄在线观看| 亚洲精品中文字幕在线观看| 在线一区二区三区四区五区| 日本一二三四高清不卡| 国产精品88av| 国产亚洲精久久久久久| 国产很黄免费观看久久| 国产精品午夜免费| 91欧美激情一区二区三区成人| 亚洲天堂av一区| 欧美美女一区二区三区| 精品一区在线看| 欧美精彩视频一区二区三区| 99精品久久99久久久久| 亚洲国产sm捆绑调教视频| 精品久久久久久亚洲综合网|