98 lines
3.8 KiB
C
98 lines
3.8 KiB
C
#ifndef _FSP_S_EXTERN_H_
|
|
#define _FSP_S_EXTERN_H_ 1
|
|
|
|
/* conf.c, read and check configuration */
|
|
extern int daemonize,use_prebuild_dirlists,read_only,dbug;
|
|
extern int permit_passwordless_owners;
|
|
extern int use_access_files,use_directory_mtime;
|
|
extern int priv_mode,no_unnamed,logging,grab_enabled,ver_enabled;
|
|
extern int homedir_restricted;
|
|
extern uid_t run_uid;
|
|
extern gid_t run_gid;
|
|
extern unsigned int maxthcallowed;
|
|
extern unsigned short udp_port,packetsize;
|
|
extern time_t retry_timeout,session_timeout,stat_cache_timeout;
|
|
extern char *logname,*tlogname,*readme_file,*dumpname;
|
|
extern char *home_dir;
|
|
extern unsigned int dir_cache_limit, stat_cache_limit,fp_cache_limit;
|
|
extern char *tmp_dir;
|
|
extern mode_t upload_umask, system_umask;
|
|
void load_configuration PROTO1(const char *, conffile);
|
|
void destroy_configuration PROTO0((void));
|
|
|
|
/* file.c, file based disk i/o operations */
|
|
int init_caches PROTO0((void));
|
|
void shutdown_caches PROTO0((void));
|
|
void stat_caches PROTO1(FILE *,fp);
|
|
const char *validate_path PROTO0((char *, unsigned, PPATH *,DIRINFO **, int));
|
|
const char *server_get_dir PROTO0((DIRLISTING **,const DIRINFO *));
|
|
const char *server_del_file PROTO0((PPATH *, DIRINFO *));
|
|
const char *server_del_dir PROTO2(PPATH *, pp, DIRINFO *,di);
|
|
const char *server_make_dir PROTO0((PPATH *, unsigned long,DIRINFO **));
|
|
const char *server_get_file PROTO0((PPATH *, FILE **, unsigned long,
|
|
unsigned short,DIRINFO *));
|
|
const char *server_get_pro PROTO3(DIRINFO *, di, char *, result, const char *, acc);
|
|
const char *server_set_pro PROTO2(DIRINFO *,di, const char *, key);
|
|
const char *server_up_load PROTO0((char *, unsigned int, unsigned long, unsigned long,
|
|
unsigned short));
|
|
const char *server_install PROTO0((PPATH *, unsigned long, unsigned short,const char *,DIRINFO *,unsigned int,const char *));
|
|
const char *server_secure_file PROTO0((PPATH *, unsigned long,
|
|
unsigned short,DIRINFO *));
|
|
const char *server_grab_file PROTO0((FILE **, unsigned long,
|
|
unsigned short));
|
|
const char *server_grab_done PROTO0((unsigned long, unsigned short));
|
|
const char *server_stat PROTO1(UBUF *, buf);
|
|
const char *server_rename PROTO0((char *,unsigned int,unsigned int));
|
|
void init_home_dir PROTO0((void));
|
|
|
|
/* filecache.c, open filehandles cache */
|
|
|
|
/* path.c, path parser */
|
|
const char *parse_path PROTO3(char *, fullp, unsigned int, len, PPATH *, pp);
|
|
|
|
/* random.c, next key random degenerator */
|
|
unsigned short gen_next_key PROTO0((void));
|
|
|
|
/* iprange.c IP range services */
|
|
extern IPrange *iptab;
|
|
const char *check_ip_table PROTO2(unsigned long, inet_num,IPrange *,table);
|
|
void free_ip_table PROTO1(IPrange *,table);
|
|
void add_ipline PROTO2(const char *, text, IPrange **, table);
|
|
void dump_iptab PROTO2(IPrange *,table,FILE *, fp);
|
|
|
|
/* host.c, DNS and IP host databases */
|
|
HTAB *find_host PROTO0((unsigned long));
|
|
int init_htab PROTO0((void));
|
|
int dump_htab PROTO1(FILE *,fn);
|
|
|
|
/* server.c, network server operations */
|
|
extern time_t cur_time;
|
|
extern int shutdowning;
|
|
RETSIGTYPE server_interrupt PROTO1(int, signum);
|
|
RETSIGTYPE server_dump PROTO1(int, signum);
|
|
int server_loop PROTO2(int,fd,time_t,timeout);
|
|
int server_reply PROTO0((struct sockaddr_in *, UBUF *, unsigned int, unsigned int));
|
|
void send_file PROTO0((struct sockaddr_in *, UBUF *, FILE *, unsigned int,
|
|
char *));
|
|
|
|
/* acl.c, security code */
|
|
void load_access_rights PROTO1(DIRINFO *,di);
|
|
void save_access_rights PROTO1(DIRINFO *,di);
|
|
const char * require_access_rights PROTO4(const DIRINFO *,di,unsigned char,rights,unsigned long, ip_addr, const char *, passwd);
|
|
|
|
/* main.c, startup and init code */
|
|
|
|
/* log.c, log writter */
|
|
extern int logfd;
|
|
extern int tlogfd;
|
|
void fsplogf PROTO0((void));
|
|
void fsplogs PROTO0((void));
|
|
#ifdef __STDC__
|
|
void fsploga(const char *fmt, ...);
|
|
#else
|
|
void fsploga(va_alist);
|
|
#endif
|
|
void xferlog(char direction, const char *filename,unsigned long filesize,const char *hostname);
|
|
|
|
#endif /* _FSP_S_EXTERN_H_ */
|