home *** CD-ROM | disk | FTP | other *** search
- #ifndef PV_LISTBASE_H
- #define PV_LISTBASE_H TRUE
- /*
- ** $Filename: ListBase.h $
- ** $Release: 1.02 $
- ** $Revision: 37.346 $
- ** $Date: 15 Sep 91 $
- **
- ** Structure definitions for List Base (see 'TheWizardCorner')
- **
- ** © 1991 Jorrit Tyberghein, included with PowerVisor
- ** All Rights Reserved
- */
-
- #ifndef PV_PVMEMORY_H
- #include <pv/PVMemory.h>
- #endif
-
- #ifndef EXEC_LISTS_H
- #include <exec/lists.h>
- #endif
-
-
- #define STRUCTDEF_BYTE 0
- #define STRUCTDEF_WORD 1
- #define STRUCTDEF_LONG 2
- #define STRUCTDEF_STRING 3
- #define STRUCTDEF_OBJECT 4
- #define STRUCTDEF_BPTR 128
-
- #define IBCTRLBYTE_BASEROUTINE -1
- #define IBCTRLBYTE_STRUCTURE -2
- #define IBCTRLBYTE_ALLROUTINE -3
-
- #define IBCTRLBYTE_NIBBLE1 15
- #define IBCTRLBYTE_NIBBLE2 240
-
- #define IBCTRLBYTE_NOTHING 0
- #define IBCTRLBYTE_INDIRECT 1
- #define IBCTRLBYTE_BPTR 2
-
-
- struct StructDef
- {
- APTR String;
- UWORD Type;
- UWORD Offset;
- };
-
- struct StructureDef
- {
- struct Node node;
- ULONG MatchWord; /* 'PVSD' */
- PVBLOCK Strings;
- PVBLOCK StructureDefinition;
- UWORD Length;
- };
-
- struct InfoBlock
- {
- ULONG PromptString;
- UBYTE ItemNumber;
- UBYTE ControlByte;
- union
- {
- APTR Routine;
- APTR Base;
- } GoToBase;
- UWORD Offset;
- union
- {
- APTR Routine;
- struct StructDef *Structure;
- } NextElem;
- APTR HeaderString;
- APTR FormatString;
- ULONG ArgString;
- UBYTE Null;
- UBYTE UseInfoStructure;
- union
- {
- APTR Routine;
- struct StructDef *Structure;
- } Info;
- APTR PrintOneLineRout;
- UWORD NameOffset;
- };
-
- struct ListBase
- {
- APTR OldWindowPtr;
- ULONG PromptString;
- UWORD CurrentListNum;
- UWORD pad0;
- struct List StructureDefs;
- struct InfoBlock IBExec;
- struct InfoBlock IBIntb;
- struct InfoBlock IBTask;
- struct InfoBlock IBLibs;
- struct InfoBlock IBDevs;
- struct InfoBlock IBReso;
- struct InfoBlock IBMemr;
- struct InfoBlock IBIntr;
- struct InfoBlock IBPort;
- struct InfoBlock IBWins;
- struct InfoBlock IBScrs;
- struct InfoBlock IBFont;
- struct InfoBlock IBDosd;
- struct InfoBlock IBFunc;
- struct InfoBlock IBSema;
- struct InfoBlock IBResm;
- struct InfoBlock IBFils;
- struct InfoBlock IBLock;
- struct InfoBlock IBIHan;
- struct InfoBlock IBFDFi;
- struct InfoBlock IBAttc;
- struct InfoBlock IBCrsh;
- struct InfoBlock IBGraf;
- struct InfoBlock IBDbug;
- struct InfoBlock IBStru;
- struct InfoBlock IBPubs; /* */
- struct InfoBlock IBMoni; /* */
- struct InfoBlock IBConf;
- struct InfoBlock IBLWin;
- struct InfoBlock IBPWin;
- };
-
- #endif
-