mc/vfs/ftpfs.h
Andrew V. Samoilov 07b052699e * ftpfs.h: Declare use_netrc, ftpfs_retry_seconds, ftpfs_first_cd_then_ls,
ftpfs_use_passive_connections and ftpfs_use_unix_list_options.

* vfs.c [VFS_STANDALONE]: Undefine WITH_SMBFS, they are mutually
exclusive now.
(is_week): Unmade week static.
(is_month): Unmade month static.
(vfs_parse_ls_lga): Optimize memory usage.

* .cvsignore: *.sor added.
* sfs.c (sfs_init): Optimized.

* vfs/samba/lib/util_sock.c (socket_options): Made static const.
2001-06-01 17:46:57 +00:00

106 lines
2.6 KiB
C

/* ftpfs.h */
/* $Id$ */
#if !defined(__FTPFS_H)
#define __FTPFS_H
#include "xdirentry.h"
struct direntry
{
char *name;
int count;
char *linkname;
char *local_filename, *remote_filename;
int local_is_temp:1;
int freshly_created:1;
struct stat local_stat;
struct stat s;
struct stat *l_stat;
struct connection *bucket;
int data_sock; /* For linear_ operations */
int linear_state;
#define LS_NONLIN 0 /* Not using linear access at all */
#define LS_LINEAR_CLOSED 1 /* Using linear access, but not open, yet */
#define LS_LINEAR_OPEN 2 /* Using linear access, open */
};
struct dir
{
int count;
struct timeval timestamp;
char *remote_path;
struct linklist *file_list;
int symlink_status;
};
/* valid values for dir->symlink_status */
#define FTPFS_NO_SYMLINKS 0
#define FTPFS_UNRESOLVED_SYMLINKS 1
#define FTPFS_RESOLVED_SYMLINKS 2
#define FTPFS_RESOLVING_SYMLINKS 3
struct connection {
char *host;
char *user;
char *current_directory;
char *home;
char *updir;
char *password;
int port;
int sock;
struct linklist *dcache;
ino_t __inode_counter;
int lock;
int failed_on_login; /* used to pass the failure reason to upper levels */
int use_proxy; /* use a proxy server */
int result_pending;
int use_source_route;
int use_passive_connection;
int remote_is_amiga; /* No leading slash allowed for AmiTCP (Amiga) */
int isbinary;
int cwd_defered; /* current_directory was changed but CWD command hasn't
been sent yet */
int strict_rfc959_list_cmd; /* ftp server doesn't understand
"LIST -la <path>"; use "CWD <path>"/
"LIST" instead */
};
#define qhost(b) (b)->host
#define quser(b) (b)->user
#define qcdir(b) (b)->current_directory
#define qport(b) (b)->port
#define qsock(b) (b)->sock
#define qlock(b) (b)->lock
#define qdcache(b) (b)->dcache
#define qhome(b) (b)->home
#define qupdir(b) (b)->updir
#define qproxy(b) (b)->use_proxy
/* Increased since now we may use C-r to reread the contents */
#define FTPFS_DIRECTORY_TIMEOUT 30 * 60
#define DO_RESOLVE_SYMLINK 1
#define DO_OPEN 2
#define DO_FREE_RESOURCE 4
extern char *ftpfs_anonymous_passwd;
extern char *ftpfs_proxy_host;
extern int ftpfs_directory_timeout;
extern int ftpfs_always_use_proxy;
extern int use_netrc;
extern int ftpfs_retry_seconds;
extern int ftpfs_use_passive_connections;
extern int ftpfs_use_unix_list_options;
extern int ftpfs_first_cd_then_ls;
void ftpfs_init_passwd (void);
#define OPT_FLUSH 1
#define OPT_IGNORE_ERROR 2
#endif