Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/libexec/ftpd/extern.h
34822 views
1
/*-
2
* SPDX-License-Identifier: BSD-3-Clause
3
*
4
* Copyright (c) 1992, 1993
5
* The Regents of the University of California. All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
* 1. Redistributions of source code must retain the above copyright
11
* notice, this list of conditions and the following disclaimer.
12
* 2. Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
* 3. Neither the name of the University nor the names of its contributors
16
* may be used to endorse or promote products derived from this software
17
* without specific prior written permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29
* SUCH DAMAGE.
30
*/
31
32
#include <sys/types.h>
33
#include <sys/socket.h>
34
35
void blkfree(char **);
36
char **copyblk(char **);
37
void cwd(char *);
38
void delete(char *);
39
void dologout(int);
40
void fatalerror(char *);
41
void ftpd_logwtmp(char *, char *, struct sockaddr *addr);
42
int ftpd_pclose(FILE *);
43
FILE *ftpd_popen(char *, char *);
44
int get_line(char *, int, FILE *);
45
void lreply(int, const char *, ...) __printflike(2, 3);
46
void makedir(char *);
47
void nack(char *);
48
void pass(char *);
49
void passive(void);
50
void long_passive(char *, int);
51
void perror_reply(int, char *);
52
void pwd(void);
53
void removedir(char *);
54
void renamecmd(char *, char *);
55
char *renamefrom(char *);
56
void reply(int, const char *, ...) __printflike(2, 3);
57
void retrieve(char *, char *);
58
void send_file_list(char *);
59
void statcmd(void);
60
void statfilecmd(char *);
61
void store(char *, char *, int);
62
void upper(char *);
63
void user(char *);
64
void yyerror(char *);
65
int yyparse(void);
66
int ls_main(int, char **);
67
68
extern int assumeutf8;
69
extern char cbuf[];
70
extern union sockunion data_dest;
71
extern int epsvall;
72
extern int form;
73
extern int ftpdebug;
74
extern int guest;
75
extern union sockunion his_addr;
76
extern char *homedir;
77
extern int hostinfo;
78
extern char *hostname;
79
extern int maxtimeout;
80
extern int logged_in;
81
extern int logging;
82
extern int noepsv;
83
extern int noguestretr;
84
extern int noretr;
85
extern int paranoid;
86
extern struct passwd *pw;
87
extern int pdata;
88
extern char proctitle[];
89
extern int readonly;
90
extern off_t restart_point;
91
extern int timeout;
92
extern char tmpline[];
93
extern int type;
94
extern char *typenames[]; /* defined in <arpa/ftp.h> included from ftpd.c */
95
extern int usedefault;
96
97
struct sockaddr_in;
98
struct sockaddr_in6;
99
union sockunion {
100
struct sockinet {
101
u_char si_len;
102
u_char si_family;
103
u_short si_port;
104
} su_si;
105
struct sockaddr_in su_sin;
106
struct sockaddr_in6 su_sin6;
107
};
108
#define su_len su_si.si_len
109
#define su_family su_si.si_family
110
#define su_port su_si.si_port
111
112