
#ifndef CNET_CONFIG
#define CNET_CONFIG

struct LogType {
	char	name  [10];
	short	id;

	char	custom[10];

	UBYTE	flag;
	UBYTE	other;
};

struct	FidoType {
	char	Name[25];

	USHORT	ZoneB,  Zone,
		NetB,   Net,
		NodeB,  Node,
		PointB, Point;

	USHORT	ZoneC, NetC, NodeC, PointC;

	char	EchoOrigin[78];
	USHORT	LoZone;

	char	NetOrigin[76];
	USHORT	Pointnet;
	USHORT	HiZone;
};

struct	ProtoType {
	char	Name[16];
	char	Env[36];
	short	Flags;
	char	One[2];
	char	Path[22];
};

struct	ArcType {
	char	Suffix[8];
	char	Keyword[16];
	char	View[64];
	char	Test[64];
	char	Pack[64];
	char	Extract[64];

	long	Row;
	long	Column;
};

// new for 4.12
struct	NewArcType {
	char	Suffix[8];
	char	Keyword[16];
	char	View[64];
	char	Test[64];
	char	Pack[64];
	char	Extract[64];

	long	Row;
	long	Column;

	char	DizExtract[64];	/* CNet does a "CD <Config1.RAMpath>" before extracting */
	char	DizAdd[64];			/* CNet does a "CD <Config1.RAMpath>" before adding */
};


struct	EditorType {
	char	name[20];
	char	path[32];
	long	flags;
};

struct	Config1 {
	char	MySystemName[26];
	char	MySysopName[26];
	char	MyLocation[26];
	char	MyPhoneNumber[20];
	char	MyBBSID[10];

	char	FontName[40];
	long	DefBalance;
	long	DefaultColor;
	long	BlankTicks;
	long	BlankBright;

	long	nUDBASEx;		/* highest UDBASE partition */
	long	MaxShortLines;		/* Short description lines - 16 MAX */
	long	MaxOpenPfiles;		/* stuff from BBSCONFIG */
	long	maxUserAccounts;
	long	NumRooms;
	long	nLinkPorts;		/* max link ID            */
	long	nsub;			/* */
	long	BListPurgeDays;
	long	nselect;		/* */
	long	nupload;
	long	nlist;
	long	maxYankTasks;
	long	maxYankSize;
	long	maxYankDays;
	long	maxLogonAttempts;
	long	maxLogonTime;
	long	maxYanksPerUser;

	long	DefNetCredits;
	long	DefByteCredits;
	long	DefFileCredits;
	char	MyCountry[4];
	char	MyAreaCode[12];
	char	DefDefProtocol[4];
	char	Yprefix[4];		/* Yank identifier */
	long	DefDoorPoints;
	long	DefTimeForm;

	UBYTE	MyLinkID;

	UBYTE	LogonFeedback;
	UBYTE	LogonSearch;
	UBYTE	GuestUsers;
	UBYTE	HideStatus;
	UBYTE	ConfProfile;
	UBYTE	MailFeedback;
	UBYTE	SeparateTexts;
	UBYTE	IndentSpaces;
	UBYTE	CIDvalidate;
	UBYTE	CIDhandleskip;
	UBYTE	SkipIdlePorts;

	char	MyLinkPass[8];

	char	OLMpath[40],
		ZIPpath[40],
		EXTRACTpath[40],
		YANKwork[40],
		RAMpath[40],
		TERMpath[40],
		LocalEditor[40],
		CDROMpath[40],
		DictPath[40];

	char	FKey [10][80];
	char	TFKey[10][80];

	USHORT	DColors2[2];
	USHORT	DColors4[4];
	USHORT	DColors8[8];
	USHORT	DColors16[16];

	long	narc;
	long	ned;
	long	nproto;
	long	nfido;
	long	nlog;

	struct	ArcType	   arc   [20];
	struct	EditorType ed     [8];
	struct	ProtoType  proto [16];
	struct	FidoType   fido  [12];
	struct	LogType	   log   [88];

	char	MyUUCPName  [44];
	char	OutboundPath[40];
	char	InboundPath [40];

	ULONG	TossInputSize;
	ULONG	TossOutputSize;
	USHORT	DupeTableSize;

	UBYTE	BadUnknown;
	UBYTE	Trapdoor174;
	UBYTE	BadDupes;
	UBYTE	ZoneGateAdjust;
	UBYTE	ShowKludges;
	UBYTE	ThreeD;
	UBYTE	DeleteUUCP;
	UBYTE	CIDsilence;
	UBYTE	TwoDotMsg;

	char	expansion;

	USHORT	RamUploadSize;

	char	RamUpload [30];
	char	DiskUpload[40];

	char	Nodelist  [40];
};

struct	NewConfig1 {
	char	MySystemName[26];
	char	MySysopName[26];
	char	MyLocation[26];
	char	MyPhoneNumber[20];
	char	MyBBSID[10];

	char	FontName[40];
	long	DefBalance;
	long	DefaultColor;
	long	BlankTicks;
	long	BlankBright;

	long	nUDBASEx;		/* highest UDBASE partition */
	long	MaxShortLines;		/* Short description lines */
	long	MaxOpenPfiles;		/* stuff from BBSCONFIG */
	long	maxUserAccounts;
	long	NumRooms;
	long	nLinkPorts;		/* max link ID            */
	long	nsub;			/* */
	long	BListPurgeDays;
	long	nselect;		/* */
	long	nupload;
	long	nlist;
	long	maxYankTasks;
	long	maxYankSize;
	long	maxYankDays;
	long	maxLogonAttempts;
	long	maxLogonTime;
	long	maxYanksPerUser;

	long	DefNetCredits;
	long	DefByteCredits;
	long	DefFileCredits;
	char	MyCountry[4];
	char	MyAreaCode[12];
	char	DefDefProtocol[4];
	char	Yprefix[4];		/* Yank identifier */
	long	DefDoorPoints;
	long	DefTimeForm;

	UBYTE	MyLinkID;

	UBYTE	LogonFeedback;
	UBYTE	LogonSearch;
	UBYTE	GuestUsers;
	UBYTE	HideStatus;
	UBYTE	ConfProfile;
	UBYTE	MailFeedback;
	UBYTE	SeparateTexts;
	UBYTE	IndentSpaces;
	UBYTE	CIDvalidate;
	UBYTE	CIDhandleskip;
	UBYTE	SkipIdlePorts;

	char	MyLinkPass[8];

	char	OLMpath[40],
		ZIPpath[40],
		EXTRACTpath[40],
		YANKwork[40],
		RAMpath[40],
		TERMpath[40],
		LocalEditor[40],
		CDROMpath[40],
		DictPath[40];

	char	FKey [10][80];
	char	TFKey[10][80];

	USHORT	DColors2[2];
	USHORT	DColors4[4];
	USHORT	DColors8[8];
	USHORT	DColors16[16];

	long	narc;
	long	ned;
	long	nproto;
	long	nfido;
	long	nlog;

	struct	NewArcType	   arc   [20];
	struct	EditorType ed     [8];
	struct	ProtoType  proto [16];
	struct	FidoType   fido  [12];
	struct	LogType	   log   [88];

	char	MyUUCPName  [44];
	char	OutboundPath[40];
	char	InboundPath [40];

	ULONG	TossInputSize;
	ULONG	TossOutputSize;
	USHORT	DupeTableSize;

	UBYTE	BadUnknown;
	UBYTE	Trapdoor174;
	UBYTE	BadDupes;
	UBYTE	ZoneGateAdjust;
	UBYTE	ShowKludges;
	UBYTE	ThreeD;
	UBYTE	DeleteUUCP;
	UBYTE	CIDsilence;
	UBYTE	TwoDotMsg;

	UBYTE expansion;

	USHORT	RamUploadSize;

	char	RamUpload [30];
	char	DiskUpload[40];

	char	Nodelist  [40];

	UBYTE MIDFromHandle;	/* if TRUE, use user Handle to create UUCP/Mail ID, else use Handle */
};

#endif
