/usr/include/proftpd
NameSizeModeActions
ascii.h26740644editdlrm
auth.h63810644editdlrm
base.h34970644editdlrm
bindings.h80270644editdlrm
buildstamp.h500644editdlrm
ccan-json.h36770644editdlrm
child.h15110644editdlrm
class.h30960644editdlrm
cmd.h44630644editdlrm
compat.h13240644editdlrm
conf.h39480644editdlrm
config.h366270644editdlrm
configdb.h58640644editdlrm
ctrls.h85240644editdlrm
data.h25820644editdlrm
default_paths.h30370644editdlrm
dirtree.h76480644editdlrm
display.h25140644editdlrm
encode.h37570644editdlrm
env.h19130644editdlrm
error.h188940644editdlrm
event.h35830644editdlrm
expr.h22090644editdlrm
feat.h13030644editdlrm
filter.h21130644editdlrm
fsio.h195280644editdlrm
ftp.h91960644editdlrm
glibc-glob.h72940644editdlrm
hanson-tpl.h45050644editdlrm
help.h12650644editdlrm
ident.h13340644editdlrm
inet.h53950644editdlrm
jot.h87360644editdlrm
json.h62820644editdlrm
lastlog.h16550644editdlrm
log.h68220644editdlrm
logfmt.h34440644editdlrm
memcache.h50560644editdlrm
mkhome.h15690644editdlrm
modules.h64740644editdlrm
mod_ctrls.h40580644editdlrm
mod_sftp.h109590644editdlrm
mod_tls.h64780644editdlrm
netacl.h25710644editdlrm
netaddr.h159990644editdlrm
netio.h81760644editdlrm
openbsd-blowfish.h29670644editdlrm
options.h85310644editdlrm
os.h73910644editdlrm
parser.h63510644editdlrm
pidfile.h13310644editdlrm
pool.h41380644editdlrm
pr-syslog.h35520644editdlrm
privs.h26130644editdlrm
proctitle.h16820644editdlrm
proftpd.h97270644editdlrm
random.h13250644editdlrm
redis.h159530644editdlrm
regexp.h37200644editdlrm
response.h31450644editdlrm
rlimit.h18730644editdlrm
scoreboard.h47600644editdlrm
session.h44300644editdlrm
sets.h19860644editdlrm
signals.h18790644editdlrm
stash.h21740644editdlrm
str.h57290644editdlrm
support.h44940644editdlrm
table.h118830644editdlrm
throttle.h12990644editdlrm
timers.h33700644editdlrm
trace.h24210644editdlrm
utf8.h14070644editdlrm
var.h44190644editdlrm
version.h16310644editdlrm
xferlog.h13740644editdlrm
Edit: /usr/include/proftpd/inet.h (5395B)
/* * ProFTPD - FTP server daemon * Copyright (c) 1997, 1998 Public Flood Software * Copyright (c) 1999, 2000 MacGyver aka Habeeb J. Dihu * Copyright (c) 2001-2022 The ProFTPD Project team * * This program 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., 51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA. * * As a special exemption, Public Flood Software/MacGyver aka Habeeb J. Dihu * and other respective copyright holders give permission to link this program * with OpenSSL, and distribute the resulting executable, without including * the source code for OpenSSL in the source distribution. */ /* BSD socket manipulation tools. */ #ifndef PR_INET_H #define PR_INET_H #include "conf.h" #ifndef AF_INET6 # define AF_INET6 AF_UNSPEC #endif /* AF_INET6 */ #ifndef INADDR_ANY # define INADDR_ANY ((unsigned long int) 0x00000000) #endif /* INADDR_ANY */ #ifndef INADDR_LOOPBACK # define INADDR_LOOPBACK ((unsigned long int) 0x7f000001) #endif /* INADDR_LOOPBACK */ #ifndef INADDR_NONE # define INADDR_NONE 0xffffffff #endif /* INADDR_NONE */ #ifndef INPORT_ANY # define INPORT_ANY 0 #endif #ifndef IN6_IS_ADDR_UNSPECIFIED # define IN6_IS_ADDR_UNSPECIFIED(a) 0 #endif #ifndef IN6_IS_ADDR_LOOPBACK # define IN6_IS_ADDR_LOOPBACK(a) 0 #endif #ifndef IN6_IS_ADDR_MULTICAST # define IN6_IS_ADDR_MULTICAST(a) 0 #endif #ifndef IN6_IS_ADDR_LINKLOCAL # define IN6_IS_ADDR_LINKLOCAL(a) 0 #endif #ifndef IN6_IS_ADDR_SITELOCAL # define IN6_IS_ADDR_SITELOCAL(a) 0 #endif #ifndef IN6_IS_ADDR_V4MAPPED # define IN6_IS_ADDR_V4MAPPED(a) 0 #endif #ifndef IN6_IS_ADDR_V4COMPAT # define IN6_IS_ADDR_V4COMPAT(a) 0 #endif #ifndef IN6_ARE_ADDR_EQUAL # define IN6_ARE_ADDR_EQUAL(a, b) 0 #endif #ifndef U32BITS # define U32BITS 0xffffffff #endif /* Connection modes */ #define CM_NONE 0 #define CM_LISTEN 1 #define CM_OPEN 2 #define CM_ACCEPT 3 #define CM_CONNECT 4 #define CM_CLOSED 5 #define CM_ERROR 6 /* connection structure */ typedef struct conn_struc { struct conn_struc *next; struct pool_rec *pool; int mode; /* Current connection mode */ int listen_fd; /* Listening file descriptor */ int rcvbuf, sndbuf; /* Socket recv and send sizes */ int xerrno; /* Set to error if mode == CM_ERROR */ int rfd,wfd; /* Read and write fds */ pr_netio_stream_t *instrm, *outstrm; /* Input/Output streams */ /* Remote address of the connection. */ const pr_netaddr_t *remote_addr; /* Remote port of the connection. */ int remote_port; /* Remote FQDN of the connection. */ const char *remote_name; /* Local address of the connection. */ const pr_netaddr_t *local_addr; /* Local port of the connection. */ int local_port; } conn_t; /* Used for event data for events related to opening of sockets */ struct socket_ctx { server_rec *server; const pr_netaddr_t *addr; int sockfd; }; /* Prototypes */ void pr_inet_clear(void); int pr_inet_reverse_dns(pool *, int); int pr_inet_getservport(pool *, const char *, const char *); pr_netaddr_t *pr_inet_getaddr(pool *, const char *, array_header **); conn_t *pr_inet_copy_conn(pool *, conn_t *); conn_t *pr_inet_create_conn(pool *, int, const pr_netaddr_t *, int, int); conn_t *pr_inet_create_conn_portrange(pool *, const pr_netaddr_t *, int, int); void pr_inet_close(pool *, conn_t *); void pr_inet_lingering_abort(pool *, conn_t *, long); void pr_inet_lingering_close(pool *, conn_t *, long); int pr_inet_set_default_family(pool *, int); int pr_inet_set_async(pool *, conn_t *); int pr_inet_set_block(pool *, conn_t *); int pr_inet_set_nonblock(pool *, conn_t *); int pr_inet_set_proto_cork(int, int); int pr_inet_set_proto_keepalive(pool *p, conn_t *, struct tcp_keepalive *); int pr_inet_set_proto_nodelay(pool *, conn_t *, int); int pr_inet_set_proto_opts(pool *, conn_t *, int, int, int, int); int pr_inet_set_reuse_port(pool *p, conn_t *conn, int reuse_port); int pr_inet_set_socket_opts(pool *, conn_t *, int, int, struct tcp_keepalive *); int pr_inet_set_socket_opts2(pool *, conn_t *, int, int, struct tcp_keepalive *, int); int pr_inet_listen(pool *p, conn_t *conn, int backlog, int flags); #define PR_INET_LISTEN_FL_FATAL_ON_ERROR 0x0001 int pr_inet_resetlisten(pool *, conn_t *); int pr_inet_accept_nowait(pool *, conn_t *); int pr_inet_connect(pool *, conn_t *, const pr_netaddr_t *, int); int pr_inet_connect_nowait(pool *, conn_t *, const pr_netaddr_t *, int); int pr_inet_get_conn_info(conn_t *, int); conn_t *pr_inet_accept(pool *, conn_t *, conn_t *, int, int, unsigned char); conn_t *pr_inet_openrw(pool *, conn_t *, const pr_netaddr_t *, int, int, int, int, int); int pr_inet_generate_socket_event(const char *, server_rec *, const pr_netaddr_t *, int); void init_inet(void); #endif /* PR_INET_H */