proto.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
/****************************************************************************
Copyright (c) 1999,2000 WU-FTPD Development Group.
All rights reserved.
Portions Copyright (c) 1980, 1985, 1988, 1989, 1990, 1991, 1993, 1994
The Regents of the University of California.
Portions Copyright (c) 1993, 1994 Washington University in Saint Louis.
Portions Copyright (c) 1996, 1998 Berkeley Software Design, Inc.
Portions Copyright (c) 1989 Massachusetts Institute of Technology.
Portions Copyright (c) 1998 Sendmail, Inc.
Portions Copyright (c) 1983, 1995, 1996, 1997 Eric P. Allman.
Portions Copyright (c) 1997 by Stan Barber.
Portions Copyright (c) 1997 by Kent Landfield.
Portions Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997
Free Software Foundation, Inc.
Use and distribution of this software and its source code are governed
by the terms and conditions of the WU-FTPD Software License ("LICENSE").
If you did not receive a copy of the license, it may be obtained online
$Id: proto.h,v 1.10 2000/07/01 18:17:39 wuftpd Exp $
****************************************************************************/
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <pwd.h>
#include <grp.h>
#include <setjmp.h>
#include <netdb.h>
#include <errno.h>
#include <string.h>
#include <stdarg.h>
/*
** access.c
*/
int parsetime(char *);
int validtime(char *);
int hostmatch(char *, char *, char *);
int acl_guestgroup(struct passwd *);
int acl_realgroup(struct passwd *);
void acl_autogroup(struct passwd *);
void acl_setfunctions(void);
int acl_getclass(char *);
int acl_getlimit(char *, char *);
int acl_getnice(char *);
void acl_getdefumask(char *);
void acl_tcpwindow(char *);
void acl_filelimit(char *);
void acl_datalimit(char *);
int acl_deny(char *);
int acl_countusers(char *);
int acl_join(char *, int);
void acl_remove(void);
void pr_mesg(int, char *);
void access_init(void);
int access_ok(int);
/*
** acl.c
*/
void parseacl(void);
int readacl(char *);
/*
** auth.c
*/
#ifdef BSD_AUTH
char *start_auth(char *, char *, struct passwd *);
#endif
char *check_auth(char *, char *);
/*
*/
int wu_authenticate(void);
/*
*/
void conv_init(void);
/*
** domain.c
*/
int check_rhost_reverse(void);
int check_rhost_matches(void);
int rhostlookup(char *);
void set_res_options(void);
/*
** extensions.c
*/
#ifdef SITE_NEWER
int check_newer(const char *, const struct stat *, int);
#endif
long getSize(char *);
void msg_massage(const char *, char *, size_t);
int cwd_beenhere(int);
void show_banner(int);
void show_message(int, int);
void show_readme(int, int);
int deny_badasciixfer(int, char *);
int is_shutdown(int, int);
int type_match(char *typelist);
void expand_id(void);
int checknoretrieve(char *name);
int remote_compare(char *patterns);
void throughput_adjust(char *name);
void SetCheckMethod(const char *method);
void ShowCheckMethod(void);
void CheckSumLastFile(void);
/*
** ftpcmd.c
*/
int yyparse(void);
void upper(char *s);
char *copy(char *s);
void alias(char *s);
void cdpath(void);
void print_groups(void);
/*
** ftpd.c
*/
char *mapping_getwd(char *path);
int mapping_chdir(char *orig_path);
char *sgetsave(char *s);
void end_login(void);
int validate_eaddr(char *eaddr);
char *opt_string(int options);
#ifdef THROUGHPUT
#else
#endif
void statfilecmd(char *filename);
void statcmd(void);
void fatal(char *s);
void ack(char *s);
void nack(char *s);
void yyerror(char *s);
void pwd(void);
char *renamefrom(char *name);
void send_file_list(char *whichfiles);
void setproctitle(const char *fmt,...);
void init_krb(void);
void end_krb(void);
#ifdef INTERNAL_LS
#endif
/*
** glob.c
*/
void blkfree(char **);
char **ftpglob(register char *);
char *strspl(register char *, register char *);
char **copyblk(register char **);
/*
** hostacc.c
*/
/*
** loadavg.c
*/
/*
** logwtmp.c
*/
/*
** paths.c
*/
void setup_paths(void);
/*
** popen.c
*/
/*
** private.c
*/
#ifndef NO_PRIVATE
void priv_setup(char *path);
void priv_group(char *group);
void priv_gpass(char *gpass);
#endif
/*
** rdservers.c
*/
#ifdef VIRTUAL
#endif
/*
** realpath.c
*/
/*
** restrict.c
*/
int restrict_check(char *name);
int test_restriction(char *name);
int restrict_list_check(char *name);
/*
*/
int routevector(void);
/*
** timeout.c
*/
void load_timeouts(void);
/*
** inet.c
*/
char *wu_gethostbyname(const char *hostname);
#ifdef INET6
#endif
/*
** xferlog.c
*/
void get_xferlog_format(void);
/*
** privs.c
*/
void init_privs(const char *);
void port_priv_on(uid_t);
void port_priv_off(uid_t);
void access_priv_on(uid_t);
void access_priv_off(uid_t);
void setid_priv_on(uid_t);
void setid_priv_off(uid_t);
void chown_priv_on(uid_t);
void chown_priv_off(uid_t);
/*
*/
char *getusershell(void);
void endusershell(void);
/*
*/
char *strcasestr(register char *s, register char *find);