#ifndef	_CONFIG_H
#define	_CONFIG_H

/* This is the TNOS configuration as distributed by KO4KS */

#undef BETA		1	/* beta-test version */


/* BBS Specific options */
#define	MAILBOX		1	/* Include SM0RGV mailbox server */
#define MAILFOR		1	/* Include Mailbox 'Mail for' beacon */
#define RLINE		1	/* Include BBS R:-line interpretation code */
#define MBFWD		1	/* Include Mailbox AX.25 forwarding */
#define USERLOG		1	/* Include last-message-read tracking for users */
#define ASKHOME		1	/* ask new user for home BBS? */
#define WPAGES		1	/* White Pages support */
#define FBBFWD		1	/* FBB Forwarding code (no compression) */
#define MAILCMDS 	1
#define MBXTDISC	1	/* Include mailbox timeout-disconnect */
#define EXPIRY		1	/* Include message and bid expiry */
#undef TIPMAIL		1	/* Include TIP mailbox server */
#undef XMODEM		1	/* xmodem file xfer for tipmail  */
#define DELEGATE	1	/* Include mail forwarding "delegation" server */


/* Mail Specific options - SMTP, POP, POP2, POP3 or BBS */
#define RMAIL		1	/* RMAIL support */
#define REQSVR		1	/* REQSVR support */
#undef POP		1	/* Include POP2 Post Office Protocol */
#undef POP2CLIENT	1	/* POP2 client -- IAB not recommended */
#undef POP2SERVER	1	/* POP2 server -- IAB not recommended */
#undef	POP3CLIENT	1	/* POP3 client -- IAB draft standard */
#define POP3SERVER	1	/* POP3 server -- IAB draft standard */
#define TRANSLATE	1	/* incoming 'from' translation */


/* Options related to assorted servers */
#define SERVERS		1	/* Include TCP servers */
#define  DSERVER	1	/* Include Domain Name Server */
#define TUTOR		1	/* Tutorial Server */
#define RDATE		1	/* Include the Time Protocol */


/* Protocol Specific options */
#undef SLIP		1	/* Serial line IP on built-in ports */
#undef PPP		1	/* Point-to-Point Protocol code */
#undef VJCOMPRESS	1	/* Van Jacobson TCP compression for SLIP */
#undef DIALER		1	/* SLIP redial code */
#undef RIP		1	/* Include RIP routing */
#undef RSPF		1	/* Include Radio Shortest Path First Protocol */
#undef RARP		1	/* Include Reverse Address Resolution Protocol */


/* NETROM specific options */
#undef NRS		1	/* NET/ROM async interface */
#undef NETROM		1	/* NET/ROM network support */
#undef NR4TDISC		1	/* Include Netrom L4 timeout-disconnect */


/* Routing, tracing and security options */
#undef AXIP		1	/* digipeater via ip port 93 interface */
#define TRACE		1	/* Include packet tracing code */
#define MONITOR		1	/* Include user-port monitor trace mode */
#undef IPACCESS		1	/* Include IP access control code */
#undef TCPACCESS	1	/* Include TCP access control code */
#undef ENCAP		1	/* Include IP encapsulation code */
#define AUTOROUTE	1	/* Include AX.25 IP auto-route code(causes problems when VC mode is used for ip) */
#undef HOPCHECK		1	/* IP path tracing command */


/* MSDOS Specific options - do not use with Linux! */
#undef SWATCH		1	/* Programmer's debugging stopwatch feature */
#undef STKTRACE		1	/* Include stack tracing code */
#undef XSPAWN		1	/* Include swapping to ems or disk on spawning shell */
#undef MULTITASK	1	/* Include Dos shell multi-tasker */
#define SAMCALLB	1	/* SAM callbook support */
#undef CALLBOOK		1	/* Simple callbook server over Internet */
#undef CALLSERVER	1	/* Include BuckMaster CDROM server support */
#undef CALLCLI		1	/* Include BuckMaster CDROM client code only  */


/* Linux Specific options - do not use with MSDOS! */
#undef SM_CURSES	1	/* curses session manager */
#undef SM_DUMB		1	/* dumb session manager */
#undef SM_RAW		1	/* raw terminfo session manager */


/* Reserved for future use - probably not functional or soon to be removed */
#define POOLED		1	/* use POOLED allocations where possible */
#define DOS_GETFILEATTR	1	/* must be completed for unix version */
#undef GPS		1	/* GPS position support */


/* Assorted Software options */
#define VERSION_ON_FILE	1	/* Version command reads file */
#undef SCREENSAVER	1	/* Local screen saver */
#undef ESCAPE		1	/* Allow Unix style escape on PC */
#undef CONVERS		1	/* Conference bridge (babble-box :-) */
	/* Use only ONE of the 2 news options below !!! */
#undef NNTP		1	/* Netnews client */
#undef NNTPS		1	/* Netnews client and server */
#define LZW		1	/* LZW-compressed sockets */
#undef RLOGINCLI	1	/* Rlogin client code */
#define RLOGINSERV	1	/* Rlogin server code */
#define ATCMD		1	/* Include timed 'at' execution */
#define FTPTDISC	1	/* Include ftp-server timeout disconnect */
#define LOCK		1	/* Include keyboard locking */
#define TTYCALL		1	/* Include AX.25 ttylink call */
#define AXBCSTR		1	/* Include "ax bc <if> <str>" */
#define SHELL		1	/* Include shell command */
#define ALLSESSIONS	1	/* Include all session types */
	/*if undefined, deletes outgoing telnet,ftp,ax25,netrom sessions */
#define ALLCMD     1    /* if undefined, exclude a bunch of commands */
	/*excluded are:
	 *   delete,rename,more,tail,dump,status,motd,cd,dir,finger,fkey
	 *   info,mail,mkdir,pwd,record,rmdir,watch,test,upload
	 */
#define ALLSERV      1   /* if undefined, exclude a bunch of servers */
	/*excluded are:
	 *echo,discard,daytime,time,tip and ttylink servers
	 *and the ttylink command (with no split screen code anymore)
	 */


/* Software tuning parameters */
#define MTHRESH		16384	/* Default memory threshold */
#define NROWS		25	/* Number of rows on screen */
#define NIBUFS		10	/* Number of interrupt buffers */
#define IBUFSIZE	1024	/* Size of interrupt buffers */
#define NSESSIONS	5	/* Number of interactive clients */
#define DEFNSOCK	40	/* Default number of sockets */


/* Generic Hardware driver options */
#define KISS		1	/* KISS TNC code */
#define ASY		1	/* Asynch driver code */


/* MSDOS Specific Hardware driver options - do not use with Linux! */
#undef ARCNET		1	/* ARCnet via PACKET driver */
#undef PC_EC		1	/* 3-Com 3C501 Ethernet controller */
#undef HS		1	/* High speed (56kbps) modem driver */
#undef HAPN		1	/* Hamilton Area Packet Network driver code */
#undef EAGLE		1	/* Eagle card driver */
#undef PACKET		1	/* FTP Software's Packet Driver interface */
#undef PC100		1	/* PAC-COM PC-100 driver code */
#undef APPLETALK	1	/* Appletalk interface (Macintosh) */
#undef DRSI		1	/* DRSI PCPA slow-speed driver */
#undef SCC		1	/* PE1CHL generic scc driver */
#undef PI		1	/* VE3IFB pi dma card scc driver */
#undef SLFP		1	/* SLFP packet driver class supported */



/* The rest of this file is sanity checking. Undue bad combinations of flags */

#if (defined(ARCNET) || defined(SLFP))
# undef	PACKET
# define PACKET		1	/* FTP Software's Packet Driver interface */
#endif

#if (defined(PC_EC) || defined(PACKET))
# define ETHER		1	/* Generic Ethernet code */
#endif

#if defined(NRS)
# undef	NETROM
# define NETROM		1	/* NRS implies NETROM */
#endif

#if defined(CALLSERVER)
# define CALLCLI	1
#endif

#ifdef RLOGINSERV
# undef RLOGINCLI
#endif

#ifdef RLOGINCLI
# undef RLOGINSERV
#endif

#if (defined(AXIP)||defined(HS)||defined(NETROM)||defined(KISS)||defined(HAPN)||defined(EAGLE)||defined(PC100)||defined(PI))
# define AX25		1	/* AX.25 subnet code */
#endif

#if (defined(POP2CLIENT) || defined(POP2SERVER))
# undef POP 1
#endif

#if (defined(POP2CLIENT) || defined(POP3CLIENT))
# define	MAILCLIENT	1
# undef POP 1
#endif

#define TNOS		// use TNOS extensions

#ifdef XSPAWN
# define SHELL 1
# undef MULTITASK 1
#endif

#ifndef MAILBOX
# undef CALLBOOK 1
# undef CALLCLI 1
# undef EXPIRY 1
# undef MBXTDISC 1
# undef TIPMAIL 1
# undef MAILFOR 1
# undef RLINE 1
# undef MBFWD 1
# undef USERLOG 1
#endif

#ifndef MAILCMDS
# undef USERLOG 1
# undef MAILFOR 1
# undef RLINE 1
# undef MBFWD 1
#endif

#ifndef TIPMAIL
#undef XMODEM 1
#endif

#ifdef UNIX
# undef SCREENSAVER
# undef DOS_GETFILEATTR
# ifndef SM_CURSES
#  ifndef SM_DUMB
#   ifndef SM_RAW
#    define SM_CURSES 1
#   endif
#  endif
# endif
#else
# undef SM_CURSES 1
# undef SM_DUMB 1
# undef SM_RAW 1
#endif

#endif	/* _CONFIG_H */
