123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371 |
- {
- This file is part of the Free Pascal run time library.
- dos definitions (V50) for MorphOS/PowerPC
- Copyright (c) 2002 The MorphOS Development Team, All Rights Reserved.
- Free Pascal conversion
- Copyright (c) 2004 Karoly Balogh for Genesi S.a.r.l. <www.genesi.lu>
- AROS conversion
- Copyright (c) 2011 Marcus Sackrow
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- **********************************************************************}
- { * dos global definitions
- *********************************************************************
- * }
- const // Checked OK 04.08.2011 ALB
- DOSNAME = 'dos.library';
- const // Checked OK 04.08.2011 ALB
- DOSTRUE = -1;
- DOSFALSE = 0;
- const // Checked OK 04.08.2011 ALB
- MODE_OLDFILE = 1005;
- MODE_NEWFILE = 1006;
- MODE_READWRITE = 1004;
- const // Checked OK 04.08.2011 ALB
- OFFSET_BEGINNING = -1;
- OFFSET_CURRENT = 0;
- OFFSET_END = 1;
- const // Checked OK 04.08.2011 ALB
- BITSPERBYTE = 8;
- BYTESPERLONG = 4;
- BITSPERLONG = 32;
- _MAXINT = $7FFFFFFF;
- _MININT = $80000000;
- const // Checked OK 04.08.2011 ALB
- SHARED_LOCK = -2;
- ACCESS_READ = SHARED_LOCK;
- EXCLUSIVE_LOCK = -1;
- ACCESS_WRITE = EXCLUSIVE_LOCK;
- type // Checked OK 04.08.2011 ALB
- PDateStamp = ^TDateStamp;
- TDateStamp = record
- ds_Days : LongInt;
- ds_Minute: LongInt;
- ds_Tick : LongInt;
- end;
- const // Checked OK 04.08.2011 ALB
- TICKS_PER_SECOND = 50;
- const // Checked OK 04.08.2011 ALB
- MAXFILENAMELENGTH = 108;
- MAXCOMMENTLENGTH = 80;
- type // Checked OK 04.08.2011 ALB
- PFileInfoBlock = ^TFileInfoBlock;
- TFileInfoBlock = record
- fib_DiskKey : PtrUInt;
- fib_DirEntryType: LongInt;
- fib_FileName : array[0..MAXFILENAMELENGTH - 1] of char;
- fib_Protection : LongInt;
- fib_EntryType : LongInt;
- fib_Size : LongInt;
- fib_NumBlocks : LongInt;
- fib_Date : TDateStamp;
- fib_Comment : Array[0..MAXCOMMENTLENGTH - 1] Of char;
- fib_OwnerUID : Word;
- fib_OwnerGID : Word;
- fib_Reserved : array[0..31] of char;
- end;
- const // Checked OK 04.08.2011 ALB
- FIBB_OTR_READ = 15;
- FIBB_OTR_WRITE = 14;
- FIBB_OTR_EXECUTE = 13;
- FIBB_OTR_DELETE = 12;
- FIBB_GRP_READ = 11;
- FIBB_GRP_WRITE = 10;
- FIBB_GRP_EXECUTE = 9;
- FIBB_GRP_DELETE = 8;
- FIBB_SCRIPT = 6; // File is a script (DOS or ARexx).
- FIBB_PURE = 5; // Make program resident on execution.
- FIBB_ARCHIVE = 4; // File was archived (not used by OS).
- FIBB_READ = 3; // File is readable.
- FIBB_WRITE = 2; // File is writable.
- FIBB_EXECUTE = 1; // File is executable (no scripts!).
- FIBB_DELETE = 0; // File is deleteable.
- const // Checked OK 04.08.2011 ALB
- FIBF_OTR_READ = (1 shl FIBB_OTR_READ);
- FIBF_OTR_WRITE = (1 shl FIBB_OTR_WRITE);
- FIBF_OTR_EXECUTE = (1 shl FIBB_OTR_EXECUTE);
- FIBF_OTR_DELETE = (1 shl FIBB_OTR_DELETE);
- FIBF_GRP_READ = (1 shl FIBB_GRP_READ);
- FIBF_GRP_WRITE = (1 shl FIBB_GRP_WRITE);
- FIBF_GRP_EXECUTE = (1 shl FIBB_GRP_EXECUTE);
- FIBF_GRP_DELETE = (1 shl FIBB_GRP_DELETE);
- FIBF_SCRIPT = (1 shl FIBB_SCRIPT);
- FIBF_PURE = (1 shl FIBB_PURE);
- FIBF_ARCHIVE = (1 shl FIBB_ARCHIVE);
- FIBF_READ = (1 shl FIBB_READ);
- FIBF_WRITE = (1 shl FIBB_WRITE);
- FIBF_EXECUTE = (1 shl FIBB_EXECUTE);
- FIBF_DELETE = (1 shl FIBB_DELETE);
- const // Checked OK 04.08.2011 ALB
- FAULT_MAX = 82;
- type // Checked OK 04.08.2011 ALB
- BPTR = PtrInt;
- BSTR = Pointer;
- type // Checked OK 04.08.2011 ALB
- PInfoData = ^TInfoData;
- TInfoData = record
- id_NumSoftErrors: LongInt; // Number of soft errors on device.
- id_UnitNumber : LongInt; // Unit number of device.
- id_DiskState : LongInt; // State the current volume is in (see below).
- id_NumBlocks : LongInt; // Number of blocks on device.
- id_NumBlocksUsed: LongInt; // Number of blocks in use.
- id_BytesPerBlock: LongInt; // Bytes per block.
- id_DiskType : LongInt; // Type of disk (see below).
- id_VolumeNode : BPTR;
- id_InUse : PtrUInt; // Set, if device is in use.
- end;
- const // Checked OK 04.08.2011 ALB
- ID_WRITE_PROTECTED = 80;
- ID_VALIDATING = 81;
- ID_VALIDATED = 82;
- ID_NO_DISK_PRESENT = -1;
- ID_UNREADABLE_DISK = $42414400;
- ID_DOS_DISK = $444F5300;
- ID_FFS_DISK = $444F5301;
- ID_INTER_DOS_DISK = $444F5302;
- ID_INTER_FFS_DISK = $444F5303;
- ID_FASTDIR_DOS_DISK = $444F5304;
- ID_FASTDIR_FFS_DISK = $444F5305;
- ID_LNFS_DOS_DISK = $444F5306;
- ID_LNFS_FFS_DISK = $444F5307;
- ID_NOT_REALLY_DOS = $4E444F53;
- ID_KICKSTART_DISK = $4B49434B;
- ID_MSDOS_DISK = $4d534400;
- ID_SFS_BE_DISK = $53465330;
- ID_SFS_LE_DISK = $73667330;
- const // Checked OK 04.08.2011 ALB
- ERROR_UNKNOWN = 100;
- ERROR_NO_FREE_STORE = 103;
- ERROR_TASK_TABLE_FULL = 105;
- ERROR_BAD_TEMPLATE = 114;
- ERROR_BAD_NUMBER = 115;
- ERROR_REQUIRED_ARG_MISSING = 116;
- ERROR_KEY_NEEDS_ARG = 117;
- ERROR_TOO_MANY_ARGS = 118;
- ERROR_UNMATCHED_QUOTES = 119;
- ERROR_LINE_TOO_LONG = 120;
- ERROR_FILE_NOT_OBJECT = 121;
- ERROR_INVALID_RESIDENT_LIBRARY = 122;
- ERROR_NO_DEFAULT_DIR = 201;
- ERROR_OBJECT_IN_USE = 202;
- ERROR_OBJECT_EXISTS = 203;
- ERROR_DIR_NOT_FOUND = 204;
- ERROR_OBJECT_NOT_FOUND = 205;
- ERROR_BAD_STREAM_NAME = 206;
- ERROR_OBJECT_TOO_LARGE = 207;
- ERROR_ACTION_NOT_KNOWN = 209;
- ERROR_INVALID_COMPONENT_NAME = 210;
- ERROR_INVALID_LOCK = 211;
- ERROR_OBJECT_WRONG_TYPE = 212;
- ERROR_DISK_NOT_VALIDATED = 213;
- ERROR_DISK_WRITE_PROTECTED = 214;
- ERROR_RENAME_ACROSS_DEVICES = 215;
- ERROR_DIRECTORY_NOT_EMPTY = 216;
- ERROR_TOO_MANY_LEVELS = 217;
- ERROR_DEVICE_NOT_MOUNTED = 218;
- ERROR_SEEK_ERROR = 219;
- ERROR_COMMENT_TOO_BIG = 220;
- ERROR_DISK_FULL = 221;
- ERROR_DELETE_PROTECTED = 222;
- ERROR_WRITE_PROTECTED = 223;
- ERROR_READ_PROTECTED = 224;
- ERROR_NOT_A_DOS_DISK = 225;
- ERROR_NO_DISK = 226;
- ERROR_NO_MORE_ENTRIES = 232;
- ERROR_IS_SOFT_LINK = 233;
- ERROR_OBJECT_LINKED = 234;
- ERROR_BAD_HUNK = 235;
- ERROR_NOT_IMPLEMENTED = 236;
- ERROR_RECORD_NOT_LOCKED = 240;
- ERROR_LOCK_COLLISION = 241;
- ERROR_LOCK_TIMEOUT = 242;
- ERROR_UNLOCK_ERROR = 243;
- const // Checked OK 04.08.2011 ALB
- RETURN_OK = 0;
- RETURN_WARN = 5;
- RETURN_ERROR = 10;
- RETURN_FAIL = 20;
- const // Checked OK 04.08.2011 ALB
- SIGBREAKB_CTRL_C = 12;
- SIGBREAKB_CTRL_D = 13;
- SIGBREAKB_CTRL_E = 14;
- SIGBREAKB_CTRL_F = 15;
- SIGBREAKF_CTRL_C = (1 shl SIGBREAKB_CTRL_C);
- SIGBREAKF_CTRL_D = (1 shl SIGBREAKB_CTRL_D);
- SIGBREAKF_CTRL_E = (1 shl SIGBREAKB_CTRL_E);
- SIGBREAKF_CTRL_F = (1 shl SIGBREAKB_CTRL_F);
- const // Checked OK 04.08.2011 ALB
- LOCK_DIFFERENT = -1;
- LOCK_SAME = 0;
- LOCK_SAME_VOLUME = 1;
- const // Checked OK 04.08.2011 ALB
- CHANGE_LOCK = 0;
- CHANGE_FH = 1;
- const // Checked OK 04.08.2011 ALB
- LINK_HARD = 0;
- LINK_SOFT = 1;
- const // Checked OK 04.08.2011 ALB
- ITEM_EQUAL = -2;
- ITEM_ERROR = -1;
- ITEM_NOTHING = 0;
- ITEM_UNQUOTED = 1;
- ITEM_QUOTED = 2;
- const // Checked OK 04.08.2011 ALB
- DOS_FILEHANDLE = 0;
- DOS_EXALLCONTROL = 1;
- DOS_FIB = 2;
- DOS_STDPKT = 3;
- DOS_CLI = 4;
- DOS_RDARGS = 5;
- { * dos date/time definitions
- *********************************************************************
- * }
- type // Checked OK 04.08.2011 ALB
- { * Required to avoid conflict with default types * }
- _PDateTime = ^_TDateTime;
- _TDateTime = record
- dat_Stamp : TDateStamp;
- dat_Format : Byte;
- dat_Flags : Byte;
- dat_StrDay : PByte;
- dat_StrDate: PByte;
- dat_StrTime: PByte;
- end;
- const // Checked OK 04.08.2011 ALB
- LEN_DATSTRING = 16;
- const // Checked OK 04.08.2011 ALB
- DTB_SUBST = 0;
- DTF_SUBST = (1 Shl DTB_SUBST);
- DTB_FUTURE = 1;
- DTF_FUTURE = (1 Shl DTB_FUTURE);
- const // Checked OK 04.08.2011 ALB
- FORMAT_DOS = 0;
- FORMAT_INT = 1;
- FORMAT_USA = 2;
- FORMAT_CDN = 3;
- FORMAT_MAX = FORMAT_CDN;
- FORMAT_DEF = 4;
- { * dos extended structures definitions
- *********************************************************************
- * }
- type // Checked OK 04.08.2011 ALB
- PProcess = ^TProcess;
- TProcess = record
- pr_Task : TTask; // Embedded task structure
- pr_MsgPort : TMsgPort; // Processes standard message-port. Used for various puposes.
- pr_Pad : Word; // Private
- pr_SegList : BPTR; // SegList array, used by this process.
- pr_StackSize : LongInt; // StackSize of the current process.
- pr_GlobVec : Pointer;
- pr_TaskNum : LongInt; // CLI process number. This may be 0, in which case the process is not connected to a CLI.
- pr_StackBase : BPTR; // Pointer to upper end of stack.
- pr_Result2 : PtrInt; // Secondary return-value
- pr_CurrentDir : BPTR; // Lock of the current directory
- pr_CIS : BPTR; { BPTR }
- pr_COS : BPTR; { BPTR }
- pr_ConsoleTask : Pointer;
- pr_FileSystemTask: Pointer;
- pr_CLI : BPTR; { BPTR }
- pr_ReturnAddr : Pointer;
- pr_PktWait : Pointer;
- pr_WindowPtr : Pointer;
- pr_HomeDir : BPTR; { BPTR }
- pr_Flags : LongInt;
- pr_ExitCode : Pointer; { Procedure }
- pr_ExitData : PtrUInt;
- pr_Arguments : PChar;
- pr_LocalVars : TMinList;
- pr_ShellPrivate : DWord;
- pr_CES : BPTR; { BPTR }
- end;
- const // Checked OK 04.08.2011 ALB
- PRB_FREESEGLIST = 0;
- PRF_FREESEGLIST = (1 shl PRB_FREESEGLIST);
- PRB_FREECURRDIR = 1;
- PRF_FREECURRDIR = (1 shl PRB_FREECURRDIR);
- PRB_FREECLI = 2;
- PRF_FREECLI = (1 shl PRB_FREECLI);
- PRB_CLOSEINPUT = 3;
- PRF_CLOSEINPUT = (1 shl PRB_CLOSEINPUT);
- PRB_CLOSEOUTPUT = 4;
- PRF_CLOSEOUTPUT = (1 shl PRB_CLOSEOUTPUT);
- PRB_FREEARGS = 5;
- PRF_FREEARGS = (1 shl PRB_FREEARGS);
- PRB_CLOSEERROR = 6;
- PRF_CLOSEERROR = (1 shl PRB_CLOSEERROR);
- PRB_SYNCHRONOUS = 7;
- PRF_SYNCHRONOUS = (1 shl PRB_SYNCHRONOUS);
- PRB_WAITINGFORCHILD = 8; // This one is subject to change!
- PRF_WAITINGFORCHILD = (1 shl PRB_WAITINGFORCHILD);
- PRB_NOTIFYONDEATH = 9;
- PRF_NOTIFYONDEATH = (1 shl PRB_NOTIFYONDEATH);
- type // Checked OK 04.08.2011 ALB
- PFileHandle = ^TFileHandle;
- TFileHandle = record
- // The next three are used with packet-based filesystems
- fh_Flags : DWord;
- fh_Interactive: PMsgPort; // packet reply port // alias -> fh_Port
- fh_Type : PMsgPort; // port to send packets to
- fh_Buf : BPTR;
- fh_Pos : LongInt;
- fh_End : LongInt;
- fh_Func1 : LongInt;
- fh_Func2 : LongInt;
- fh_Func3 : Pointer;
- fh_Arg1 : PtrInt;
- fh_Arg2 : Pointer;
- { *** V39+ *** }
- fh_Size : DWord;
- fh_Buf2 : BPTR;
- end;
- (* OBSOLETE *************************
- type
- PDOSPacket = ^TDOSPacket;
- TDOSPacket = record
- dp_Link: PMessage;
- dp_Port: PMsgPort;
- case Byte of
- 0 : ( dp_Action : Longint;
- dp_Status : Longint;
- dp_Status2: Longint;
- dp_BufAddr: Longint;
- );
- 1 : ( dp_Type: Longint;
- dp_Res1: Longint;
- dp_Res2: Longint;
- dp_Arg1: Longint;
- dp_Arg2: Longint;
- dp_Arg3: Longint;
- dp_Arg4: Longint;
- dp_Arg5: Longint;
- dp_Arg6: Longint;
- dp_Arg7: Longint;
- );
- end;
- type
- PStandardPacket = ^TStandardPacket;
- TStandardPacket = record
- sp_Msg: TMessage;
- sp_Pkt: TDOSPacket;
- end;
- const
- ACTION_NIL = 0;
- ACTION_STARTUP = 0;
- ACTION_GET_BLOCK = 2; { *** OBSOLETE *** }
- ACTION_SET_MAP = 4;
- ACTION_DIE = 5;
- ACTION_EVENT = 6;
- ACTION_CURRENT_VOLUME = 7;
- ACTION_LOCATE_OBJECT = 8;
- ACTION_RENAME_DISK = 9;
- ACTION_WRITE = 'W';
- ACTION_READ = 'R';
- ACTION_FREE_LOCK = 15;
- ACTION_DELETE_OBJECT = 16;
- ACTION_RENAME_OBJECT = 17;
- ACTION_MORE_CACHE = 18;
- ACTION_COPY_DIR = 19;
- ACTION_WAIT_CHAR = 20;
- ACTION_SET_PROTECT = 21;
- ACTION_CREATE_DIR = 22;
- ACTION_EXAMINE_OBJECT = 23;
- ACTION_EXAMINE_NEXT = 24;
- ACTION_DISK_INFO = 25;
- ACTION_INFO = 26;
- ACTION_FLUSH = 27;
- ACTION_SET_COMMENT = 28;
- ACTION_PARENT = 29;
- ACTION_TIMER = 30;
- ACTION_INHIBIT = 31;
- ACTION_DISK_TYPE = 32;
- ACTION_DISK_CHANGE = 33;
- ACTION_SET_DATE = 34;
- ACTION_SAME_LOCK = 40;
- ACTION_SCREEN_MODE = 994;
- ACTION_CHANGE_SIGNAL = 995;
- ACTION_READ_RETURN = 1001;
- ACTION_WRITE_RETURN = 1002;
- ACTION_SEEK = 1008;
- ACTION_FINDUPDATE = 1004;
- ACTION_FINDINPUT = 1005;
- ACTION_FINDOUTPUT = 1006;
- ACTION_END = 1007;
- ACTION_FORMAT = 1020;
- ACTION_MAKE_LINK = 1021;
- ACTION_SET_FILE_SIZE = 1022;
- ACTION_WRITE_PROTECT = 1023;
- ACTION_READ_LINK = 1024;
- ACTION_FH_FROM_LOCK = 1026;
- ACTION_IS_FILESYSTEM = 1027;
- ACTION_CHANGE_MODE = 1028;
- ACTION_COPY_DIR_FH = 1030;
- ACTION_PARENT_FH = 1031;
- ACTION_EXAMINE_ALL = 1033;
- ACTION_EXAMINE_FH = 1034;
- ACTION_EXAMINE_ALL_END = 1035;
- ACTION_SET_OWNER = 1036;
- ACTION_LOCK_RECORD = 2008;
- ACTION_FREE_RECORD = 2009;
- ACTION_ADD_NOTIFY = 4097;
- ACTION_REMOVE_NOTIFY = 4098;
- ACTION_SERIALIZE_DISK = 4200;
- ACTION_GET_DISK_FSSM = 4201;
- ACTION_FREE_DISK_FSSM = 4202;
- *)
- type // Checked OK 04.08.2011 ALB
- PErrorString = ^TErrorString;
- TErrorString = record
- estr_Nums: PLongInt;
- estr_Strings: PChar;
- end;
- type // Checked OK 04.08.2011 ALB
- PRootNode = ^TRootNode;
- TRootNode = record
- rn_TaskArray : BPTR; { BPTR }
- rn_ConsoleSegment : BPTR; { BPTR }
- rn_Time : TDateStamp;
- rn_RestartSeg : Pointer;
- rn_Info : BPTR; { BPTR }
- rn_FileHandlerSegment: BPTR; { BPTR }
- rn_CliList : TMinList;
- rn_BootProc : PMsgPort;
- rn_ShellSegment : BPTR; { BPTR }
- rn_Flags : LongInt;
- // Aros Special
- rn_RootLock : TSignalSemaphore;
- end;
- type // Checked OK 04.08.2011 ALB
- // AROS Specific
- PCLIInfo = ^TCLIInfo;
- TCLIInfo = record
- ci_Node: TNode;
- ci_Process: PProcess;
- end;
- type // Checked OK 05.08.2011 ALB
- PDOSLibrary = ^TDOSLibrary;
- TDOSLibrary = record
- dl_Lib : TLibrary;
- dl_Root : PRootNode;
- {$ifdef AROS_BINCOMPAT}
- dl_GV : Pointer;
- dl_A2 : LongInt;
- dl_A5 : LongInt;
- dl_A6 : LongInt;
- {$endif}
- dl_Errors : PErrorString;
- dl_TimeReq : PTimeRequest;
- dl_UtilityBase : PLibrary;
- dl_IntuitionBase: PLibrary;
- // AROS Specific private Fields
- dl_TimerBase : PDevice;
- dl_TimerIO : TTimeRequest;
- dl_DevInfo : BPTR; //PDosList;
- dl_SysBase : PExecBase;
- dl_SegList : BPTR;
- dl_NulHandler : PDevice;
- dl_NulLock : PUnit;
- // LDDemon private Data
- dl_LDObjectsListSigSem : TSignalSemaphore;
- dl_LDObjectsList : TEList;
- dl_LDHandler : TInterrupt;
- dl_LDDemonPort : PMsgPort;
- dl_LDDemonTask : PProcess;
- dl_LDReturn : Cardinal;
- // AROS-specific and private. Can go away in future
- dl_SYSLock: BPTR;
- // The flags are ORed with RootNode->rn_Flags. See below for definitions.
- dl_Flags: Cardinal;
- end;
- const // Checked OK 04.08.2011 ALB
- RNB_WILDSTAR = 24;
- RNF_WILDSTAR = (1 Shl RNB_WILDSTAR);
- type // Checked OK 04.08.2011 ALB
- PDOSInfo = ^TDOSInfo;
- TDOSInfo = record
- di_McName : BPTR; { BPTR }
- di_DevInfo : BPTR; { BPTR }
- di_Devices : BPTR; { BPTR }
- di_Handlers : BPTR; { BPTR }
- di_NetHand : BPTR; // Alias di_ResList
- di_DevLock : TSignalSemaphore;
- di_EntryLock : TSignalSemaphore;
- di_DeleteLock: TSignalSemaphore;
- end;
- type // Checked OK 04.08.2011 ALB
- PSegment = ^TSegment;
- TSegment = record
- seg_Next : PSegment; // Pointer to next segment.
- seg_UC : LongInt;
- seg_Seg : BPTR; { BPTR }
- seg_Name : Array[0..3] of char;
- { * seg_Name continues * }
- end;
- const // Checked OK 04.08.2011 ALB
- CMD_SYSTEM = -1;
- CMD_INTERNAL = -2;
- CMD_DISABLED = -999;
- type // Checked TODO 04.08.2011 ALB
- PDeviceList = ^TDeviceList;
- TDeviceList = record
- dl_Next : PDeviceList; { BPTR }
- dl_Type : LongInt;
- dl_Task : PMsgPort;
- dl_Lock : BPTR; { BPTR }
- dl_VolumeDate: TDateStamp;
- dl_LockList : BPTR; { BPTR }
- dl_DiskType : LongInt;
- dl_unused : LongInt;
- // Padding Bytes?
- dl_Name : BSTR; { BSTR }
- // Missing DosListAROSExt
- end;
- type // Checked OK 04.08.2011 ALB
- PFileLock = ^TFileLock;
- TFileLock = record
- fl_Link : PFileLock; // (PFileLock) Pointer to next lock.
- fl_Key : PtrUInt;
- fl_Access: LongInt;
- fl_Task : PMsgPort;
- fl_Volume: PDeviceList; // (BPTR)
- end;
- type // Checked OK 04.08.2011 ALB
- PCommandLineInterface = ^TCommandLineInterface;
- TCommandLineInterface = record
- cli_Result2 : LongInt; // Secondary error code, set by last command.
- cli_SetName : BSTR; // Name of the current directory.
- cli_CommandDir : PFileLock; // Lock of the first directory in path.
- cli_ReturnCode : LongInt; // Error code, the last command returned.
- cli_CommandName : BSTR; // Name of the command that is currently executed.
- cli_FailLevel : LongInt; // Fail-Level as set by the command "FailAt".
- cli_Prompt : BSTR; // Current prompt in the CLI window.
- cli_StandardInput : PFileLock; // Standard/Default input file.
- cli_CurrentInput : PFileLock; // Current input file.
- cli_CommandFile : BSTR; // Name of the file that is currently executed.
- cli_Interactive : LongInt; // TRUE if the currently CLI is connected to a controlling terminal, otherwise FALSE.
- cli_Background : LongInt; // FALSE if there is no controlling terminal, otherwise TRUE.
- cli_CurrentOutput : PFileLock; // Current output file. }
- cli_DefaultStack : LongInt; // Default stack size as set by the command "Stack"
- cli_StandardOutput: PFileLock; // Standard/Default output file.
- cli_Module : BPTR; // SegList of currently loaded command.
- // Aros Specific Part
- cli_Standard_Error: PFileLock; // Standard/Default Error file.
- end;
- const // Checked OK 04.08.2011 ALB
- CLI_DEFAULTSTACK_UNIT = SizeOf(PtrUInt);
- type // Checked TODO 04.08.2011 ALB
- PDevInfo = ^TDevInfo;
- TDevInfo = record
- dvi_Next : PDevInfo; { BPTR }
- dvi_Type : LongInt;
- dvi_Task : PMsgPort;
- dvi_Lock : BPTR; { BPTR }
- dvi_Handler : BSTR; { BSTR }
- dvi_StackSize: LongInt;
- dvi_Priority : LongInt;
- dvi_Startup : BPTR;
- dvi_NoAROS1 : BPTR; { BPTR }
- dvi_NoAROS2 : BPTR; { BPTR }
- dvi_Name : BSTR; { BSTR }
- // missing Aros Extension... DosListAROSExt;
- end;
- type // Checked TODO 04.08.2011 ALB
- PAssignList = ^TAssignList;
- TAssignList = record
- al_Next: PAssignList; // Pointer to next assign node.
- al_Lock: PFileLock; // Lock of on of the directories.
- end;
- type // Checked TODO 04.08.2011 ALB
- PDOSList = ^TDOSList;
- TDOSList = record
- dol_Next: BPTR; // PDOSList
- dol_Type: LongInt;
- dol_Task: PMsgPort;
- dol_Lock: PFileLock; { BPTR }
- case Byte of
- 0: ( dol_handler : record
- dol_Handler : BSTR; { BSTR }
- dol_StackSize: LongInt;
- dol_Priority : LongInt;
- dol_Startup : BPTR;
- dol_NoAROS1 : BPTR; { BPTR }
- dol_NoAROS2 : BPTR; { BPTR }
- dol_NoAROS3 : BPTR; { BPTR }
- end;
- );
- 1: ( dol_volume : record
- dol_VolumeDate: TDateStamp;
- dol_LockList : BPTR; { BPTR }
- dol_DiskType : LongInt;
- dol_unused : BPTR;
- end;
- );
- 2: ( dol_assign : record
- dol_AssignName: PChar;
- dol_List : PAssignList;
- end;
- );
- 3: ( dol_Misc: array[0..23] of Byte;
- dol_Name: BSTR;
- );
- // missing Aros Extension... DosListAROSExt;
- end;
- const // Checked OK 04.08.2011 ALB
- DLT_DEVICE = 0;
- DLT_DIRECTORY = 1;
- DLT_VOLUME = 2;
- DLT_LATE = 3;
- DLT_NONBINDING = 4;
- DLT_PRIVATE = -1;
- type // Checked OK 04.08.2011 ALB
- PDevProc = ^TDevProc;
- TDevProc = record
- dvp_Port : PMsgPort;
- dvp_Lock : PFileLock; { BPTR }
- dvp_Flags : DWord; // see below
- dvp_DevNode: PDOSList; // Private
- end;
- const // Checked OK 04.08.2011 ALB
- DVPB_UNLOCK = 0;
- DVPF_UNLOCK = (1 shl DVPB_UNLOCK);
- DVPB_ASSIGN = 1;
- DVPF_ASSIGN = (1 shl DVPB_ASSIGN);
- const // Checked OK 04.08.2011 ALB
- LDB_READ = 0;
- LDF_READ = (1 shl LDB_READ);
- LDB_WRITE = 1;
- LDF_WRITE = (1 shl LDB_WRITE);
- LDB_DEVICES = 2;
- LDF_DEVICES = (1 shl LDB_DEVICES);
- LDB_VOLUMES = 3;
- LDF_VOLUMES = (1 shl LDB_VOLUMES);
- LDB_ASSIGNS = 4;
- LDF_ASSIGNS = (1 shl LDB_ASSIGNS);
- LDB_ENTRY = 5;
- LDF_ENTRY = (1 shl LDB_ENTRY);
- LDB_DELETE = 6;
- LDF_DELETE = (1 shl LDB_DELETE);
- LDF_ALL = (LDF_DEVICES or LDF_VOLUMES or LDF_ASSIGNS);
- const // Checked OK 04.08.2011 ALB
- REPORT_STREAM = 0;
- REPORT_TASK = 1;
- REPORT_LOCK = 2;
- REPORT_VOLUME = 3;
- REPORT_INSERT = 4;
- const // Checked OK 04.08.2011 ALB
- ABORT_DISK_ERROR = 296;
- ABORT_BUSY = 288;
- const // Checked OK 04.08.2011 ALB
- RUN_EXECUTE = -1;
- RUN_SYSTEM = -2;
- RUN_SYSTEM_ASYNCH = -3;
- const // Checked OK 04.08.2011 ALB
- ST_ROOT = 1;
- ST_USERDIR = 2;
- ST_SOFTLINK = 3;
- ST_LINKDIR = 4;
- ST_FILE = -3;
- ST_LINKFILE = -4;
- ST_PIPEFILE = -5;
- { * dos asl definitions
- *********************************************************************
- * }
- type // Checked OK 04.08.2011 ALB
- PAChain = ^TAChain;
- TAChain = record
- an_Child : PAChain;
- an_Parent: PAChain;
- an_Lock : BPTR;
- an_Info : TFileInfoBlock;
- an_Flags : ShortInt;
- an_String: array[0..0] of Char;
- { * an_String continues * }
- end;
- type // Checked OK 04.08.2011 ALB
- PAnchorPath = ^TAnchorPath;
- TAnchorPath = record
- case Byte of // its not defined in AROS struct just by defines...
- 0 : ( ap_First: PAChain;
- ap_Last: PAChain;
- ap_L1: LongInt;
- ap_L2: LongInt;
- ap_Length: ShortInt;
- );
- 1 : ( ap_Base: PAChain;
- ap_Current: PAChain;
- ap_BreakBits: LongInt;
- ap_FoundBreak: LongInt;
- ap_Flags: ShortInt;
- ap_Reserved: ShortInt;
- ap_Strlen: SmallInt;
- ap_Info: TFileInfoBlock;
- ap_Buf: array[0..255] of char;
- { * an_Buf continues * }
- );
- end;
- const // Checked OK 04.08.2011 ALB
- // Please check for wildcards in supplied string.
- APB_DOWILD = 0;
- APF_DOWILD = (1 Shl APB_DOWILD);
- // There is actually a wildcard in the supplied string. READ-ONLY
- APB_ITSWILD = 1;
- APF_ITSWILD = (1 Shl APB_ITSWILD);
- // Set, if a directory is to be entered. Applications may clear this bit to prohibit the
- // matching-functions from entering a directory.
- APB_DODIR = 2;
- APF_DODIR = (1 Shl APB_DODIR);
- // Set, if directory was already searched. READ-ONLY
- APB_DIDDIR = 3;
- APF_DIDDIR = (1 Shl APB_DIDDIR);
- // Set, if function was out of memory. READ-ONLY
- APB_NOMEMERR = 4;
- APF_NOMEMERR = (1 Shl APB_NOMEMERR);
- // '.' may refer to the current directory (unix-style).
- APB_DODOT = 5;
- APF_DODOT = (1 Shl APB_DODOT);
- // Directory changed since last call.
- APB_DirChanged = 6;
- APF_DirChanged = (1 Shl APB_DirChanged);
- // Follow hardlinks, too.
- APB_FollowHLinks = 7;
- APF_FollowHLinks = (1 Shl APB_FollowHLinks);
- const // Checked OK 04.08.2011 ALB
- DDB_PatternBit = 0;
- DDF_PatternBit = (1 Shl DDB_PatternBit);
- DDB_ExaminedBit = 1;
- DDF_ExaminedBit = (1 Shl DDB_ExaminedBit);
- DDB_Completed = 2;
- DDF_Completed = (1 Shl DDB_Completed);
- DDB_AllBit = 3;
- DDF_AllBit = (1 Shl DDB_AllBit);
- DDB_Single = 4;
- DDF_Single = (1 Shl DDB_Single);
- const // Checked OK 04.08.2011 ALB
- P_ANY = $80; // Matches everything ('#?' and '*')
- P_SINGLE = $81; // Any character ('?')
- P_ORSTART = $82; // Opening parenthesis for OR'ing ('(')
- P_ORNEXT = $83; // Field delimiter for OR'ing ('|')
- P_OREND = $84; // Closing parenthesis for OR'ing (')')
- P_NOT = $85; // Inversion ('~')
- P_NOTEND = $86; // Inversion end
- P_NOTCLASS = $87; // Inversion class ('^')
- P_CLASS = $88; // Class ('[' and ']')
- P_REPBEG = $89; // Beginning of repetition ('[')
- P_REPEND = $8A; // End of repetition (']')
- P_STOP = $8B;
- const // Checked OK 04.08.2011 ALB
- COMPLEX_BIT = 1;
- EXAMINE_BIT = 2;
- const // Checked OK 04.08.2011 ALB
- ERROR_BUFFER_OVERFLOW = 303;
- ERROR_BREAK = 304;
- ERROR_NOT_EXECUTABLE = 305;
- { * dos hunk definitions
- *********************************************************************
- * }
- const // Checked OK 04.08.2011 ALB
- HUNK_UNIT = 999;
- HUNK_NAME = 1000;
- HUNK_CODE = 1001;
- HUNK_DATA = 1002;
- HUNK_BSS = 1003;
- HUNK_RELOC32 = 1004;
- HUNK_ABSRELOC32 = HUNK_RELOC32;
- HUNK_RELOC16 = 1005;
- HUNK_RELRELOC16 = HUNK_RELOC16;
- HUNK_RELOC8 = 1006;
- HUNK_RELRELOC8 = HUNK_RELOC8;
- HUNK_EXT = 1007;
- HUNK_SYMBOL = 1008;
- HUNK_DEBUG = 1009;
- HUNK_END = 1010;
- HUNK_HEADER = 1011;
- HUNK_OVERLAY = 1013;
- HUNK_BREAK = 1014;
- HUNK_DREL32 = 1015;
- HUNK_DREL16 = 1016;
- HUNK_DREL8 = 1017;
- HUNK_LIB = 1018;
- HUNK_INDEX = 1019;
- HUNK_RELOC32SHORT = 1020;
- HUNK_RELRELOC32 = 1021;
- HUNK_ABSRELOC16 = 1022;
- const // Checked OK 04.08.2011 ALB
- HUNKB_ADVISORY = 29;
- HUNKB_CHIP = 30;
- HUNKB_FAST = 31;
- HUNKF_ADVISORY = (1 shl HUNKB_ADVISORY);
- HUNKF_CHIP = (1 shl HUNKB_CHIP);
- HUNKF_FAST = (1 shl HUNKB_FAST);
- const // Checked OK 04.08.2011 ALB
- EXT_SYMB = 0;
- EXT_DEF = 1;
- EXT_ABS = 2;
- EXT_REF32 = 129;
- EXT_ABSREF32 = EXT_REF32;
- EXT_COMMON = 130;
- EXT_ABSCOMMON = EXT_COMMON;
- EXT_REF16 = 131;
- EXT_RELREF16 = EXT_REF16;
- EXT_REF8 = 132;
- EXT_RELREF8 = EXT_REF8;
- EXT_DEXT32 = 133;
- EXT_DEXT16 = 134;
- EXT_DEXT8 = 135;
- EXT_RELREF32 = 136;
- EXT_RELCOMMON = 137;
- EXT_ABSREF16 = 138;
- EXT_ABSREF8 = 139;
- { * dos ExAll definitions
- *********************************************************************
- * }
- const // Checked OK 04.08.2011 ALB
- ED_NAME = 1;
- ED_TYPE = 2;
- ED_SIZE = 3;
- ED_PROTECTION = 4;
- ED_DATE = 5;
- ED_COMMENT = 6;
- ED_OWNER = 7;
- type // Checked OK 04.08.2011 ALB
- PExAllData = ^TExAllData;
- TExAllData = record
- ed_Next : PExAllData;
- ed_Name : PChar;
- ed_Type : LongInt;
- ed_Size : Cardinal;
- ed_Prot : Cardinal;
- ed_Days : Cardinal;
- ed_Mins : Cardinal;
- ed_Ticks : Cardinal;
- ed_Comment : PChar;
- ed_OwnerUID: Word;
- ed_OwnerGID: Word;
- end;
- type // Checked OK 04.08.2011 ALB
- PExAllControl = ^TExAllControl;
- TexAllControl = record
- eac_Entries : Cardinal;
- eac_LastKey : PtrUInt; // private
- eac_MatchString: PChar;
- eac_MatchFunc : PHook;
- end;
- { * dos record definitions
- *********************************************************************
- * }
- const // Checked OK 04.08.2011 ALB
- REC_EXCLUSIVE = 0;
- REC_EXCLUSIVE_IMMED = 1;
- REC_SHARED = 2;
- REC_SHARED_IMMED = 3;
- type // Checked OK 04.08.2011 ALB
- PRecordLock = ^TRecordLock;
- TRecordLock = record
- rec_FH : PFileHandle;
- rec_Offset: Cardinal;
- rec_Length: Cardinal;
- rec_Mode : Cardinal;
- end;
- { * dos tag definitions
- *********************************************************************
- * }
- const // Checked OK 04.08.2011 ALB
- SYS_Dummy = (TAG_USER + 32);
- SYS_Input = (SYS_Dummy + 1);
- SYS_Output = (SYS_Dummy + 2);
- SYS_Asynch = (SYS_Dummy + 3);
- SYS_UserShell = (SYS_Dummy + 4);
- SYS_CustomShell = (SYS_Dummy + 5);
- { *** Aros Specific *** }
- SYS_Error = (SYS_Dummy + 10);
- SYS_ScriptInput = (SYS_Dummy + 11);
- SYS_Background = (SYS_Dummy + 12);
- SYS_CliNumPtr = (SYS_Dummy + 13);
- SYS_DupStream = 1;
- const // Checked OK 04.08.2011 ALB
- NP_Dummy = (TAG_USER + 1000);
- NP_Seglist = (NP_Dummy + 1);
- NP_FreeSeglist = (NP_Dummy + 2);
- NP_Entry = (NP_Dummy + 3);
- NP_Input = (NP_Dummy + 4);
- NP_Output = (NP_Dummy + 5);
- NP_CloseInput = (NP_Dummy + 6);
- NP_CloseOutput = (NP_Dummy + 7);
- NP_Error = (NP_Dummy + 8);
- NP_CloseError = (NP_Dummy + 9);
- NP_CurrentDir = (NP_Dummy + 10);
- NP_StackSize = (NP_Dummy + 11);
- NP_Name = (NP_Dummy + 12);
- NP_Priority = (NP_Dummy + 13);
- NP_ConsoleTask = (NP_Dummy + 14);
- NP_WindowPtr = (NP_Dummy + 15);
- NP_HomeDir = (NP_Dummy + 16);
- NP_CopyVars = (NP_Dummy + 17);
- NP_Cli = (NP_Dummy + 18);
- NP_Path = (NP_Dummy + 19);
- NP_CommandName = (NP_Dummy + 20);
- NP_Arguments = (NP_Dummy + 21);
- NP_NotifyOnDeath = (NP_Dummy + 22);
- NP_Synchronous = (NP_Dummy + 23);
- NP_ExitCode = (NP_Dummy + 24);
- NP_ExitData = (NP_Dummy + 25);
- { *** AROS Specific *** }
- NP_UserData = (NP_Dummy + 26);
- const // Checked OK 04.08.2011 ALB
- ADO_Dummy = (TAG_USER + 2000);
- ADO_FH_Mode = (ADO_Dummy + 1);
- ADO_DirLen = (ADO_Dummy + 2);
- ADO_CommNameLen = (ADO_Dummy + 3);
- ADO_CommFileLen = (ADO_Dummy + 4);
- ADO_PromptLen = (ADO_Dummy + 5);
- { * dos stdio definitions
- *********************************************************************
- * }
- const // Checked OK 04.08.2011 ALB
- BUF_LINE = 0;
- BUF_FULL = 1;
- BUF_NONE = 2;
- const // Checked OK 04.08.2011 ALB
- ENDSTREAMCH = -1;
- { * dos env-var definitions
- *********************************************************************
- * }
- type // Checked OK 04.08.2011 ALB
- PLocalVar = ^TLocalVar;
- TLocalVar = record
- lv_Node : TNode;
- lv_Flags: Word;
- lv_Value: PChar;
- lv_Len : Cardinal;
- end;
- type // Checked OK 04.08.2011 ALB
- PScanVarsMsg = ^TScanVarsMsg;
- TScanVarsMsg = record
- sv_SVMSize: Cardinal; // Size of ScanVarsMsg structure
- sv_Flags: Cardinal; // The flags parameter given to ScanVars()
- sv_GDir: PChar; // Directory patch for global variables or empty string "\0" for local variables
- sv_Name: PChar; // Name of the variable
- sv_Var: PChar; // Pointer to the contents of the variable
- sv_VarLen: Cardinal; // Size of the variable
- end;
- const // Checked OK 04.08.2011 ALB
- LV_VAR = 0;
- LV_ALIAS = 1;
- const // Checked OK 04.08.2011 ALB
- LVB_IGNORE = 7;
- LVF_IGNORE = (1 Shl LVB_IGNORE);
- GVB_GLOBAL_ONLY = 8;
- GVF_GLOBAL_ONLY = (1 Shl GVB_GLOBAL_ONLY);
- GVB_LOCAL_ONLY = 9;
- GVF_LOCAL_ONLY = (1 Shl GVB_LOCAL_ONLY);
- GVB_BINARY_VAR = 10;
- GVF_BINARY_VAR = (1 Shl GVB_BINARY_VAR);
- GVB_DONT_NULL_TERM = 11;
- GVF_DONT_NULL_TERM = (1 Shl GVB_DONT_NULL_TERM);
- GVB_SAVE_VAR = 12;
- GVF_SAVE_VAR = (1 Shl GVB_SAVE_VAR);
- { * dos ReadArgs definitions
- *********************************************************************
- * }
- type // Checked OK 04.08.2011 ALB
- PCSource = ^TCSource;
- TCSource = record
- CS_Buffer: PChar;
- CS_Length: LongInt;
- CS_CurChr: LongInt;
- end;
- type // Checked OK 04.08.2011 ALB
- PRDArgs = ^TRDArgs;
- TRDArgs = record
- RDA_Source : TCSource;
- RDA_DAList : PtrUInt;
- RDA_Buffer : PChar;
- RDA_BufSiz : LongInt;
- RDA_ExtHelp: PChar;
- RDA_Flags : LongInt;
- end;
- const // Checked OK 04.08.2011 ALB
- RDAB_STDIN = 0;
- RDAF_STDIN = (1 Shl RDAB_STDIN);
- RDAB_NOALLOC = 1;
- RDAF_NOALLOC = (1 Shl RDAB_NOALLOC);
- RDAB_NOPROMPT = 2;
- RDAF_NOPROMPT = (1 Shl RDAB_NOPROMPT);
- const // Checked OK 04.08.2011 ALB
- MAX_TEMPLATE_ITEMS = 100;
- MAX_MULTIARGS = 128;
- { * dos filehandler definitions
- *********************************************************************
- * }
- type // Checked OK 04.08.2011 ALB
- PDosEnvec = ^TDosEnvec;
- TDosEnvec = record
- de_TableSize : PtrUInt;
- de_SizeBlock : PtrUInt;
- de_SecOrg : PtrUInt;
- de_Surfaces : PtrUInt;
- de_SectorPerBlock: PtrUInt;
- de_BlocksPerTrack: PtrUInt;
- de_Reserved : PtrUInt;
- de_PreAlloc : PtrUInt;
- de_Interleave : PtrUInt;
- de_LowCyl : PtrUInt;
- de_HighCyl : PtrUInt;
- de_NumBuffers : PtrUInt;
- de_BufMemType : PtrUInt;
- de_MaxTransfer : PtrUInt;
- de_Mask : PtrUInt;
- de_BootPri : PtrInt;
- de_DosType : PtrUInt;
- de_Baud : PtrUInt;
- de_Control : PtrUInt;
- de_BootBlocks : PtrUInt;
- end;
- const // Checked OK 04.08.2011 ALB
- DE_TABLESIZE = 0;
- DE_SIZEBLOCK = 1;
- DE_BLOCKSIZE = 2;
- DE_NUMHEADS = 3;
- DE_SECSPERBLOCK = 4;
- DE_BLKSPERTRACK = 5;
- DE_RESERVEDBLKS = 6;
- DE_PREFAC = 7;
- DE_INTERLEAVE = 8;
- DE_LOWCYL = 9;
- DE_HIGHCYL = 10;
- DE_UPPERCYL = DE_HIGHCYL;
- DE_NUMBUFFERS = 11;
- DE_BUFMEMTYPE = 12;
- DE_MEMBUFTYPE = DE_BUFMEMTYPE;
- DE_MAXTRANSFER = 13;
- DE_MASK = 14;
- DE_BOOTPRI = 15;
- DE_DOSTYPE = 16;
- DE_BAUD = 17;
- DE_CONTROL = 18;
- DE_BOOTBLOCKS = 19;
- type // Checked OK 04.08.2011 ALB
- PFileSysStartupMsg = ^TFileSysStartupMsg;
- TFileSysStartupMsg = record
- fssm_Unit : PtrUInt;
- fssm_Device : BSTR;
- fssm_Environ: BPTR;
- fssm_Flags : Cardinal;
- end;
- type // Checked TODO 04.08.2011 ALB
- PDeviceNode = ^TDeviceNode;
- TDeviceNode = record
- dn_Next : PDeviceNode;
- dn_Type : Cardinal;
- dn_Task : PMsgPort;
- dn_Lock : BPTR;
- dn_Handler : BSTR;
- dn_StackSize: Cardinal;
- dn_Priority : LongInt;
- dn_Startup : BPTR;
- dn_SegList : BPTR;
- dn_GlobalVec: BPTR;
- dn_Name : BSTR;
- // Missing Extension DosListAROSExt
- end;
- { * dos notification definitions
- *********************************************************************
- * }
- const // Checked OK 04.08.2011 ALB
- NOTIFY_CLASS = $40000000;
- NOTIFY_CODE = $1234;
- type // Checked OK 04.08.2011 ALB
- PNotifyRequest = ^TNotifyRequest;
- TNotifyRequest = record
- nr_Name : PChar;
- nr_FullName: PChar;
- nr_UserData: Cardinal;
- nr_Flags : Cardinal;
- nr_stuff : record
- case Byte of
- 0 : ( nr_Msg : record
- nr_Port: PMsgPort;
- end );
- 1 : ( nr_Signal : record
- nr_Task : PTask;
- nr_SignalNum: Byte;
- nr_pad : array[0..2] of Byte;
- end );
- end;
- nr_Reserved: array[0..3] of Cardinal;
- nr_MsgCount: Cardinal;
- nr_Handler : PMsgPort;
- end;
- type // Checked OK 04.08.2011 ALB
- PNotifyMessage = ^TNotifyMessage;
- TNotifyMessage = record
- nm_ExecMessage: TMessage;
- nm_Class : Cardinal;
- nm_Code : Word;
- nm_NReq : PNotifyRequest;
- nm_DoNotTouch : PtrUInt;
- nm_DoNotTouch2: PtrUInt;
- end;
- const // Checked OK 04.08.2011 ALB
- NRB_SEND_MESSAGE = 0;
- NRB_SEND_SIGNAL = 1;
- NRB_WAIT_REPLY = 3;
- NRB_NOTIFY_INITIAL = 4;
- NRB_MAGIC = 31;
- NRF_SEND_MESSAGE = (1 shl NRB_SEND_MESSAGE);
- NRF_SEND_SIGNAL = (1 shl NRB_SEND_SIGNAL);
- NRF_WAIT_REPLY = (1 shl NRB_WAIT_REPLY);
- NRF_NOTIFY_INITIAL = (1 shl NRB_NOTIFY_INITIAL);
- NRF_MAGIC = (1 shl NRB_MAGIC);
- NR_HANDLER_FLAGS = $ffff0000;
|