⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ftp.h

📁 proxy源代码,linux下的ftp 代理的源代码,大家多多支持啊
💻 H
字号:
/*    File: ftpproxy/ftp.h    Copyright (C) 1999  Wolfgang Zekoll  <wzk@quietsche-entchen.de>    Copyright (C) 2000, 2003  Andreas Schoenberg  <asg@ftpproxy.org>      This software 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., 675 Mass Ave, Cambridge, MA 02139, USA. */#ifdef HAVE_CONFIG_H#include "config.h"#endif#ifndef	_FTP_INCLUDED#define	_FTP_INCLUDEDextern char *version;extern char *program;extern char progname[80];extern int debug;extern int extralog;extern int bindport;extern int daemonmode;extern int acceptloop(int sock);#define	FTPMAXBSIZE		4096typedef struct _config {    char	configfile[200];    int		standalone;    int		timeout;    int		selectserver;    int		allow_anyremote;    char	server[200];    char	*serverlist;    char	acp[200];    char	ccp[200];    char	ctp[200];    char	varname[80];    int		allow_blanks;    int		allow_passwdblanks;    int		use_last_at;    int		monitor;    int		bsize;    char	xferlog[200];    int		numeric_only;    char	sourceip[200];    unsigned int dataport;    } config_t;#define	DIR_MAXDEPTH		15#define	CCP_OK			0#define	CCP_ERROR		1#define	PORT_LISTEN		1#define	PORT_CONNECTED		2#define	PORT_CLOSED		3#define	MODE_PORT		1#define	MODE_PASSIVE		2#define	OP_GET			1#define	OP_PUT			2#define	TYPE_ASC		1	/* Transfer modes for xferlog */#define	TYPE_BIN		2typedef struct _port {    char	ipnum[80];    unsigned int port;    } port_t;typedef struct _dtc {    int		state;		/* LISTEN, CONNECTED, CLOSED */    int		seen150;        int		isock;    int		osock;        int		operation;	/* GET oder PUT */    int		active;    int		other;        int		mode;		/* PORT oder PASV */    port_t	server;    port_t	outside;    port_t	inside;    port_t	client;    int		type;		/* Transfer type for xferlog */    unsigned long started;	/* Timestamp for xferlog */    char	command[20];	/* Fuer syslog Meldungen */    char	filename[200];    unsigned long bytes;    } dtc_t;typedef struct _bio {    int		here, len;    char	buffer[512];    } bio_t;typedef struct _ftp {    config_t	*config;        char	interface[80];    unsigned int port;    char	client[200];    char	client_ip[80];    char	username[200];    char	password[200];    struct {	char	username[80];	char	password[80];	} local;    struct {	char	name[80];	unsigned int port;	char	ipnum[80];	} server;    struct {	int		server;		/* Kontrollverbindung zum Server */	int		cfd;		/* Datenverbindung zum Client */	int		sfd;		/* Datenverbindung zum Server */	fd_set		fdset;	int		max;	} fd;    dtc_t		ch;    char		cwd[200];    char		home[200];    char		filepath[200];    bio_t		cbuf, sbuf;        char		session[80];    int			ccpcoll;     FILE		*xlfp;    char		logusername[100];    int			commands;    unsigned long datain, dataout;    } ftp_t;extern int readconfig(config_t *config, char *filename, char *section);extern int printconfig(config_t *config);extern int proxy_request(config_t *config);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -