tmi2/
tmi2/bin/
tmi2/etc/
tmi2/lib/
tmi2/lib/adm/
tmi2/lib/adm/daemons/languages/
tmi2/lib/adm/daemons/network/I3/
tmi2/lib/adm/daemons/virtual/template/
tmi2/lib/adm/obj/master/
tmi2/lib/adm/priv/
tmi2/lib/adm/shell/
tmi2/lib/adm/tmp/
tmi2/lib/cmds/
tmi2/lib/d/
tmi2/lib/d/Conf/
tmi2/lib/d/Conf/adm/
tmi2/lib/d/Conf/boards/
tmi2/lib/d/Conf/cmds/
tmi2/lib/d/Conf/data/
tmi2/lib/d/Conf/logs/
tmi2/lib/d/Conf/obj/
tmi2/lib/d/Conf/text/help/
tmi2/lib/d/Fooland/adm/
tmi2/lib/d/Fooland/data/
tmi2/lib/d/Fooland/data/attic/
tmi2/lib/d/Fooland/items/
tmi2/lib/d/TMI/
tmi2/lib/d/TMI/adm/
tmi2/lib/d/TMI/boards/
tmi2/lib/d/TMI/data/
tmi2/lib/d/TMI/rooms/
tmi2/lib/d/grid/
tmi2/lib/d/grid/adm/
tmi2/lib/d/grid/data/
tmi2/lib/d/std/
tmi2/lib/d/std/adm/
tmi2/lib/data/adm/
tmi2/lib/data/adm/daemons/
tmi2/lib/data/adm/daemons/doc_d/
tmi2/lib/data/adm/daemons/emoted/
tmi2/lib/data/adm/daemons/network/http/
tmi2/lib/data/adm/daemons/network/services/mail_q/
tmi2/lib/data/adm/daemons/network/smtp/
tmi2/lib/data/adm/daemons/news/archives/
tmi2/lib/data/attic/connection/
tmi2/lib/data/attic/user/
tmi2/lib/data/std/connection/b/
tmi2/lib/data/std/connection/l/
tmi2/lib/data/std/user/a/
tmi2/lib/data/std/user/b/
tmi2/lib/data/std/user/d/
tmi2/lib/data/std/user/f/
tmi2/lib/data/std/user/l/
tmi2/lib/data/std/user/x/
tmi2/lib/data/u/d/dm/working/doc_d/
tmi2/lib/data/u/l/leto/doc_d/
tmi2/lib/data/u/l/leto/smtp/
tmi2/lib/doc/
tmi2/lib/doc/driverdoc/applies/
tmi2/lib/doc/driverdoc/concepts/
tmi2/lib/doc/driverdoc/driver/
tmi2/lib/doc/driverdoc/efuns/arrays/
tmi2/lib/doc/driverdoc/efuns/buffers/
tmi2/lib/doc/driverdoc/efuns/compile/
tmi2/lib/doc/driverdoc/efuns/ed/
tmi2/lib/doc/driverdoc/efuns/floats/
tmi2/lib/doc/driverdoc/efuns/functions/
tmi2/lib/doc/driverdoc/efuns/general/
tmi2/lib/doc/driverdoc/efuns/numbers/
tmi2/lib/doc/driverdoc/efuns/parsing/
tmi2/lib/doc/driverdoc/lpc/constructs/
tmi2/lib/doc/driverdoc/lpc/preprocessor/
tmi2/lib/doc/driverdoc/lpc/types/
tmi2/lib/doc/driverdoc/platforms/
tmi2/lib/doc/mudlib/
tmi2/lib/ftp/
tmi2/lib/log/
tmi2/lib/obj/net/
tmi2/lib/obj/shells/
tmi2/lib/std/board/
tmi2/lib/std/body/
tmi2/lib/std/fun/
tmi2/lib/std/living/
tmi2/lib/std/object/
tmi2/lib/std/shop/
tmi2/lib/std/socket/
tmi2/lib/std/virtual/
tmi2/lib/student/
tmi2/lib/student/kalypso/
tmi2/lib/student/kalypso/armor/
tmi2/lib/student/kalypso/rooms/
tmi2/lib/student/kalypso/weapons/
tmi2/lib/u/l/leto/
tmi2/lib/u/l/leto/cmds/
tmi2/lib/www/errors/
tmi2/lib/www/gateways/
tmi2/lib/www/images/
tmi2/old/
tmi2/v21.7a10/
tmi2/v21.7a10/ChangeLog.old/
tmi2/v21.7a10/compat/simuls/
tmi2/v21.7a10/include/
tmi2/v21.7a10/testsuite/
tmi2/v21.7a10/testsuite/clone/
tmi2/v21.7a10/testsuite/command/
tmi2/v21.7a10/testsuite/data/
tmi2/v21.7a10/testsuite/etc/
tmi2/v21.7a10/testsuite/include/
tmi2/v21.7a10/testsuite/inherit/
tmi2/v21.7a10/testsuite/inherit/master/
tmi2/v21.7a10/testsuite/log/
tmi2/v21.7a10/testsuite/u/
tmi2/v21.7a10/tmp/
#ifndef MALLOC_INCL_H
#define MALLOC_INCL_H

typedef struct {
    int real_size;
    char *buffer;
} outbuffer_t;

void outbuf_zero PROT((outbuffer_t *));
void outbuf_add PROT((outbuffer_t *, char *));
void outbuf_addchar PROT((outbuffer_t *, char));
void outbuf_addv PROT2V(outbuffer_t *, char *);
void outbuf_fix PROT((outbuffer_t *));
void outbuf_push PROT((outbuffer_t *));
int outbuf_extend PROT((outbuffer_t *, int));

#include "bsdmalloc.h"
#include "smalloc.h"
#include "wrappedmalloc.h"
#include "debugmalloc.h"

#ifdef DEBUGMALLOC
/* tags */
#define TAG_TEMPORARY       (1 << 8)
#define TAG_PERMANENT       (2 << 8)
#define TAG_COMPILER        (3 << 8)
#define TAG_DATA            (4 << 8)
#define TAG_MISC            (5 << 8)
#define TAG_MARKED          (1 << 12)

#define TAG_PROGRAM         (TAG_PERMANENT + 11)
#define TAG_CALL_OUT        (TAG_PERMANENT + 12)
#define TAG_INTERACTIVE     (TAG_PERMANENT + 13)
#define TAG_ED              (TAG_PERMANENT + 14)

#define TAG_INC_LIST        (TAG_PERMANENT + 16)
#define TAG_PERM_IDENT      (TAG_PERMANENT + 17)
#define TAG_IDENT_TABLE     (TAG_PERMANENT + 18)
#define TAG_RESERVED        (TAG_PERMANENT + 19)
#define TAG_MUDLIB_STATS    (TAG_PERMANENT + 20)
#define TAG_OBJECT          (TAG_PERMANENT + 21)
#define TAG_OBJ_TBL         (TAG_PERMANENT + 22)
#define TAG_CONFIG          (TAG_PERMANENT + 23)
#define TAG_SIMULS          (TAG_PERMANENT + 24)
#define TAG_SENTENCE        (TAG_PERMANENT + 25)
#define TAG_STR_TBL         (TAG_PERMANENT + 26)
#define TAG_SWAP            (TAG_PERMANENT + 27)
#define TAG_UID             (TAG_PERMANENT + 28)
#define TAG_OBJ_NAME        (TAG_PERMANENT + 29)
#define TAG_PREDEFINES      (TAG_PERMANENT + 30)
#define TAG_LINENUMBERS     (TAG_PERMANENT + 31)
#define TAG_LOCALS          (TAG_PERMANENT + 32)
#define TAG_LPC_OBJECT      (TAG_PERMANENT + 33)
#define TAG_USERS           (TAG_PERMANENT + 34)
#define TAG_DEBUGMALLOC     (TAG_PERMANENT + 35)
#define TAG_HEART_BEAT      (TAG_PERMANENT + 36)
#ifdef PACKAGE_PARSER
#define TAG_PARSER          (TAG_PERMANENT + 37)
#endif

#define TAG_STRING          (TAG_DATA + 40)
#define TAG_MALLOC_STRING   (TAG_DATA + 41)
#define TAG_SHARED_STRING   (TAG_DATA + 42)
#define TAG_FUNP            (TAG_DATA + 43)
#define TAG_ARRAY           (TAG_DATA + 44)
#define TAG_MAPPING         (TAG_DATA + 45)
#define TAG_MAP_NODE_BLOCK  (TAG_DATA + 46)
#define TAG_MAP_TBL         (TAG_DATA + 47)
#define TAG_BUFFER          (TAG_DATA + 48)
#define TAG_CLASS           (TAG_DATA + 49)
#endif

#endif