/*лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл*/
/*                            I N C L U D E S									*/
/*лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл*/
#include <dos/dosextens.h>
#include "Defines.h"									// Watcher defines.

/*лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл*/
/*                             S T R U C T S										*/
/*лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл*/
struct MyScrNode
{
	struct Node				msn_Node;
	UBYTE						msn_PubName [MAXPUBSCREENNAME];	// Public Screen name.
	UBYTE						msn_TitName [MAXPUBSCREENNAME];	// Public Screen titel.
	APTR						msn_Address;							// Address of screen.
	struct IBox				msn_Box;									// Dimensions of screen.
	UBYTE						msn_Depth;								// Depth of screen's bitmap.
	struct TextAttr		*msn_Font;								// Screen font.
	BOOL						msn_Windows;							// Any windows in screen?
	BOOL						msn_Gadgets;							// Any gadgets?
};
struct MyLibDevNode
{
	struct Node				mldn_Node;
	UBYTE						mldn_Name [NSIZE];	// Library name.
	UWORD						mldn_Version;			// Library version.
	UWORD						mldn_Revision;			// Library revision.
															// Library ID.
	UBYTE						mldn_IdString [NSIZE];
	UWORD						mldn_OpenCount;		// Number of times library has
															// been opened.
};
struct MyTskNode
{
	struct Node				mtn_Node;
	UBYTE						mtn_Name [NSIZE];			// Task name.
	UBYTE						mtn_CliCmdName [NSIZE];	// Command name.
	UWORD						mtn_Priority;				// Task priority.
	APTR						mtn_Stack;					// Stack pointer.
	APTR						mtn_Lower;					// Stack lower bound.
	APTR						mtn_Upper;					// Stack upper bound.
	BOOL						mtn_CliProcess;			// Is this a process?
	struct CommandLineInterface	mtn_Cli;			// Copy of cli structure.
	UWORD						mtn_CliNumber;				// Number of cli process.
};
struct MyPrtNode
{
	struct Node				mpn_Node;
	UBYTE						mpn_Name [NSIZE];		// Port name.
	WORD						mpn_Pri;					// Port priority.
	void						*mpn_SigTask;			// Task to signal upon arrival.
	void						*mpn_Address;			// Address of port.
};
struct MyResNode
{
	struct Node				mrn_Node;
	UBYTE						mrn_Name [NSIZE];		// Resource name.
	UWORD						mrn_Version;			// Resource version.
	UWORD						mrn_Revision;			// Resource revision.
															// Resource ID.
	UBYTE						mrn_IdString [NSIZE];
	UWORD						mrn_OpenCount;			// Number of times Resource has
															// been opened.
};
struct MyFntNode
{
	struct Node				mfn_Node;
	UBYTE						mfn_Name [NSIZE];			// Font name.
	struct TextFont		mfn_tf;						// Font Information.
	UBYTE						mfn_StylesText [NSIZE];	// Font styles text.
	UBYTE						mfn_FlagsText [NSIZE];	// Font flags text.
	UWORD						mfn_XDPI;					// X DPI.
	UWORD						mfn_YDPI;					// Y DPI.
	UBYTE						mfn_Type [10];				// Font type (MEMORY, DISK etc.);
};
struct MyVolNode
{
	struct Node				mvn_Node;
	UBYTE						mvn_Name [NSIZE];		// Volume name.
	UBYTE						mvn_DevName [NSIZE];	// Device name.
	ULONG						mvn_Size;				// Volume size.
	ULONG						mvn_Free;				// Volume free.
	UBYTE						mvn_CrDate [20];		// Creation date.
};
struct MyAssNode
{
	struct Node				man_Node;
	UBYTE						man_Name [NSIZE];		// Assign name.
	UBYTE						man_DirName [NSIZE];	// Directory assign is pointing to.
	BOOL						man_Late;				// Is this a late-binding assign?
};
