/* -*- C -*-
 * This file is automatically generated from kern/variables.src (-)
 *
 * Do not change this file
 */

#include <sys/param.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <kern/amiga_includes.h>
#include <kern/amiga_config.h>

/* Variables related to Internet Message Control Protocol. */
#define KW_ICMP \
 "E=ERROR,S=SHORTOLD,I=ICMPOLD,CO=CODE,T=TOOSHORT,CH=CHKSUM,L=LENGTH," \
 "R=RESPONSES"

/* Variables related to Internet Protocol. */
#define KW_IP \
 "T=TOTAL,CH=CHKSUM,TOOSH=TOOSHORT,TOOSM=TOOSMALL,H=HEADER," \
 "LE=LENGTH,FS=FRAGMENTS,FD=FDROP,FT=FTIMEOUT,FO=FORWARD,FW=FWDCANT," \
 "RED=REDIRECTSENT,N=NOPROTO,D=DELIVER,LO=LOCALOUT,OD=ODROPPED," \
 "REA=REASSEMBLED,FE=FED,OF=OFRAGMENTS,FC=FCANT"

/* Variables related to Transmission Control Protocol. */
#define KW_TCP \
 "CA=CATTEM,A=ACCEPTS,CO=CONNECT,DR=DROPS,CD=CDROPS,CL=CLOSED," \
 "SE=SEGSTIMED,RTT=RTTUPDATE,DE=DELACK,T=TIMEODROP,RE=REXMTT," \
 "P=PERSIST,KAT=KATIMEO,KAP=KAPROBE,KAD=KADROPS,ST=STOTAL,SP=SPACK," \
 "SB=SBYTE,SREP=SREPACK,SREB=SREBYTE,SA=SACKS,SWP=SWPROBE," \
 "SU=SURGENT,SWU=SWUPDATE,SC=SCTRL,RTO=RTOTAL,RPA=RPACK,RB=RBYTE," \
 "RC=RCHKSUM,ROF=ROFFSET,RPS=RPSHORT,RDUPP=RDUPPACK,RDUPB=RDUPBYTE," \
 "RPDUPD=RPDUPDATA,RPDUPB=RPDUPBYTE,ROOP=ROOPACK,ROOB=ROOBYTE," \
 "RPL=RPLATE,RBL=RBLATE,RAF=RAFTER,RWP=RWPROBE,RDUPA=RDUPACK," \
 "RACKT=RACKTOOM,RACKP=RACKPACK,RACKB=RACKBYTE,RWU=RWUPDATE"

/* Variables related to User Datagram Protocol. */
#define KW_UDP \
 "I=ITOTAL,H=HEADSHORT,C=CHKSUM,L=LENGTH,N=NOPORT,B=BCNOPORT," \
 "F=FULLSOC,M=MISPCB,O=OTOTAL"

/* Returns a list of routing entries for specified protocol family. See page \pageref{routing-format} for the output format description. */
#define KW_ROUTES \
 "ALL,UNIX,INET,IMPLINK,PUP,CHAOS,NS,ISO,ECMA,DATAKIT,CCITT,SNA,DECnet,DLI," \
 "LAT,HYLINK,APPLETALK,ROUTE,LINK,XTP"

/* Memory buffer statistics. */
#define KW_MBUF_STAT \
 "M=MBUFS,CL=CLUSTERS,CLF=CLFREE,MD=MDROPS,NW=NWAITED,ND=NDRAINED," \
 "TMU=TOTALMEMORYUSED"

/* Memory buffer configuration. */
#define KW_MBUF_CONF \
 "I=INITIAL,CH=CHUNK,CL=CLCHUNK,MM=MAXMEM,CS=CLUSTERSIZE"

/* Logging system configuration. */
#define KW_LOG \
 "COUNT,LEN"

/* Level 1 variables */
STRPTR KW_VARS =
  "WITH,IC=ICMP,ICH=ICMPHIST,IP,T=TCP,U=UDP,CONNECTIONS,ROUTES,"
  "MBS=MBUF_STAT,MBTS=MBUF_TYPE_STATS,MBC=MBUF_CONF,LOG,TASKNAME,"
  "NTH=NTHBASE,DBSANA=DEBUGSANA,DBICMP=DEBUGICMP,DBIP=DEBUGIP,"
  "GTW=GATEWAY,REDIR=IPSENDREDIRECTS,USENS=USENAMESERVER,"
  "ULO=USELOOPBACK,TCPSND=TCP_SENDSPACE,TCPRCV=TCP_RECVSPACE,"
  "CON=CONSOLENAME,LOGF=LOGFILENAME";

/* extern declarations */

/* read_sets() is declared in amiga_config.h */
extern LONG icmpstat;
extern LONG read_icmphist(struct CSource *args, UBYTE **errstrp, struct CSource *res);
extern LONG ipstat;
extern LONG tcpstat;
extern LONG udpstat;
LONG getsockets(struct CSource *args, UBYTE **errstrp, struct CSource *res);
LONG getroutes(struct CSource *args, UBYTE **errstrp, struct CSource *res);
extern LONG mbstat;
extern LONG mb_read_stats(struct CSource *args, UBYTE **errstrp, struct CSource *res);
extern LONG mbconf; int mb_check_conf(void *pt, LONG new);
extern LONG log_cnf;
extern STRPTR taskname; int taskname_changed(void *pt, LONG new);
extern LONG nthLibrary;
extern LONG debug_sana;
extern LONG icmpprintfs;
extern LONG ipprintfs;
extern LONG ipforwarding;
extern LONG ipsendredirects;
extern LONG usens;
extern LONG useloopback;
extern ULONG tcp_sendspace;
extern ULONG tcp_recvspace;
extern STRPTR consolename ;	 int logname_changed(void *pt, LONG new);
extern STRPTR logfilename;

/* Global variables */
STRPTR KW_Protocols = KW_ROUTES;

struct cfg_variable variables[] = {
{ VAR_FUNC, VF_RW, NULL, NULL, (notify_f)read_sets },
{ VAR_LONG, VF_TABLE|VF_READ, KW_ICMP, &icmpstat, NULL },
{ VAR_FUNC, VF_READ, NULL, (notify_f)read_icmphist, NULL },
{ VAR_LONG, VF_TABLE|VF_READ, KW_IP,   &ipstat,   NULL },
{ VAR_LONG, VF_TABLE|VF_READ, KW_TCP,  &tcpstat,  NULL },
{ VAR_LONG, VF_TABLE|VF_READ, KW_UDP,  &udpstat,  NULL },
{ VAR_FUNC, VF_READ, NULL, (notify_f)getsockets, NULL },
{ VAR_FUNC, VF_READ, NULL, (notify_f)getroutes, NULL },
{ VAR_LONG, VF_TABLE|VF_READ, KW_MBUF_STAT, &mbstat, NULL },
{ VAR_FUNC, VF_READ, NULL, (notify_f)mb_read_stats, NULL },
{ VAR_LONG, VF_TABLE|VF_RCONF,   KW_MBUF_CONF, &mbconf, mb_check_conf },
{ VAR_LONG, VF_TABLE|VF_RCONF,   KW_LOG, &log_cnf, NULL },
{ VAR_STRP, VF_RCONF, NULL, &taskname, taskname_changed },
{ VAR_LONG, VF_RW, NULL, &nthLibrary,  NULL },
{ VAR_ENUM, VF_RW, NULL, &debug_sana, boolean_enum },
{ VAR_ENUM, VF_RW, NULL, &icmpprintfs, boolean_enum },
{ VAR_ENUM, VF_RW, NULL, &ipprintfs, boolean_enum },
{ VAR_ENUM, VF_RW, NULL, &ipforwarding, boolean_enum },
{ VAR_ENUM, VF_RW, NULL, &ipsendredirects, boolean_enum },
{ VAR_ENUM, VF_RW, NULL, &usens, (notify_f)"NO,FIRST,SECOND" },
{ VAR_ENUM, VF_RW, NULL, &useloopback, boolean_enum },
{ VAR_LONG, VF_RW, NULL, (LONG*)&tcp_sendspace, NULL },
{ VAR_LONG, VF_RW, NULL, (LONG*)&tcp_recvspace, NULL },
{ VAR_STRP, VF_RW, NULL, &consolename, logname_changed },
{ VAR_STRP, VF_RW, NULL, &logfilename, logname_changed }
};
