/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/hanson-tpl.h (4505B)
/* Copyright (c) 2005-2010, Troy D. Hanson http://tpl.sourceforge.net All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef TPL_H #define TPL_H #include /* size_t */ #ifdef __INTEL_COMPILER #include #endif /* Intel Compiler efficient memcpy etc */ #ifdef _MSC_VER typedef unsigned int uint32_t; #else #include /* uint32_t */ #endif #if defined __cplusplus extern "C" { #endif #ifdef _WIN32 #ifdef TPL_EXPORTS #define TPL_API __declspec(dllexport) #else /* */ #ifdef TPL_NOLIB #define TPL_API #else #define TPL_API __declspec(dllimport) #endif /* TPL_NOLIB */ #endif /* TPL_EXPORTS*/ #else #define TPL_API #endif /* bit flags (external) */ #define TPL_FILE (1 << 0) #define TPL_MEM (1 << 1) #define TPL_PREALLOCD (1 << 2) #define TPL_EXCESS_OK (1 << 3) #define TPL_FD (1 << 4) #define TPL_UFREE (1 << 5) #define TPL_DATAPEEK (1 << 6) #define TPL_FXLENS (1 << 7) #define TPL_GETSIZE (1 << 8) /* do not add flags here without renumbering the internal flags! */ /* flags for tpl_gather mode */ #define TPL_GATHER_BLOCKING 1 #define TPL_GATHER_NONBLOCKING 2 #define TPL_GATHER_MEM 3 /* Hooks for error logging, memory allocation functions and fatal */ typedef int (tpl_print_fcn)(const char *fmt, ...); typedef void *(tpl_malloc_fcn)(size_t sz); typedef void *(tpl_realloc_fcn)(void *ptr, size_t sz); typedef void (tpl_free_fcn)(void *ptr); typedef void (tpl_fatal_fcn)(char *fmt, ...); typedef struct tpl_hook_t { tpl_print_fcn *oops; tpl_malloc_fcn *malloc; tpl_realloc_fcn *realloc; tpl_free_fcn *free; tpl_fatal_fcn *fatal; size_t gather_max; } tpl_hook_t; typedef struct tpl_node { int type; void *addr; void *data; /* r:tpl_root_data*. A:tpl_atyp*. ow:szof type */ int num; /* length of type if its a C array */ size_t ser_osz; /* serialization output size for subtree */ struct tpl_node *children; /* my children; linked-list */ struct tpl_node *next,*prev; /* my siblings (next child of my parent) */ struct tpl_node *parent; /* my parent */ } tpl_node; /* used when un/packing 'B' type (binary buffers) */ typedef struct tpl_bin { void *addr; uint32_t sz; } tpl_bin; /* for async/piecemeal reading of tpl images */ typedef struct tpl_gather_t { char *img; int len; } tpl_gather_t; /* Callback used when tpl_gather has read a full tpl image */ typedef int (tpl_gather_cb)(void *img, size_t sz, void *data); /* Prototypes */ TPL_API void tpl_fatal(char *fmt, ...); /* default tpl_hook fatal fcn */ TPL_API tpl_node *tpl_map(char *fmt,...); /* define tpl using format */ TPL_API void tpl_free(tpl_node *r); /* free a tpl map */ TPL_API int tpl_pack(tpl_node *r, int i); /* pack the n'th packable */ TPL_API int tpl_unpack(tpl_node *r, int i); /* unpack the n'th packable */ TPL_API int tpl_dump(tpl_node *r, int mode, ...); /* serialize to mem/file */ TPL_API int tpl_load(tpl_node *r, int mode, ...); /* set mem/file to unpack */ TPL_API int tpl_Alen(tpl_node *r, int i); /* array len of packable i */ TPL_API char* tpl_peek(int mode, ...); /* sneak peek at format string */ TPL_API int tpl_gather( int mode, ...); /* non-blocking image gather */ TPL_API int tpl_jot(int mode, ...); /* quick write a simple tpl */ #if defined __cplusplus } #endif #endif /* TPL_H */