home *** CD-ROM | disk | FTP | other *** search
- #ifndef DOS_DOSEXTENS_H
- #define DOS_DOSEXTENS_H
- /*
- ** $Filename: dos/dosextens.h $
- ** $Release: 2.04 Includes, V37.4 $
- ** $Revision: 36.38 $
- ** $Date: 91/11/08 $
- **
- ** DOS structures not needed for the casual AmigaDOS user
- **
- ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
- ** All Rights Reserved
- */
-
- #ifndef EXEC_TASKS_H
- #include "exec/tasks.h"
- #endif
- #ifndef EXEC_PORTS_H
- #include "exec/ports.h"
- #endif
- #ifndef EXEC_LIBRARIES_H
- #include "exec/libraries.h"
- #endif
- #ifndef EXEC_SEMAPHORES_H
- #include "exec/semaphores.h"
- #endif
- #ifndef DEVICES_TIMER_H
- #include "devices/timer.h"
- #endif
-
- #ifndef DOS_DOS_H
- #include "dos/dos.h"
- #endif
-
-
-
-
-
- struct Process {
- struct Task pr_Task;
- struct MsgPort pr_MsgPort;
- WORD pr_Pad;
- BPTR pr_SegList;
- LONG pr_StackSize;
- APTR pr_GlobVec;
- LONG pr_TaskNum;
- BPTR pr_StackBase;
- LONG pr_Result2;
- BPTR pr_CurrentDir;
- BPTR pr_CIS;
- BPTR pr_COS;
- APTR pr_ConsoleTask;
- APTR pr_FileSystemTask;
- BPTR pr_CLI;
- APTR pr_ReturnAddr;
- APTR pr_PktWait;
- APTR pr_WindowPtr;
-
-
- BPTR pr_HomeDir;
- LONG pr_Flags;
- void (*pr_ExitCode)();
- LONG pr_ExitData;
- UBYTE *pr_Arguments;
- struct MinList pr_LocalVars;
- ULONG pr_ShellPrivate;
- BPTR pr_CES;
- };
-
-
- #define PRB_FREESEGLIST 0
- #define PRF_FREESEGLIST 1
- #define PRB_FREECURRDIR 1
- #define PRF_FREECURRDIR 2
- #define PRB_FREECLI 2
- #define PRF_FREECLI 4
- #define PRB_CLOSEINPUT 3
- #define PRF_CLOSEINPUT 8
- #define PRB_CLOSEOUTPUT 4
- #define PRF_CLOSEOUTPUT 16
- #define PRB_FREEARGS 5
- #define PRF_FREEARGS 32
-
-
-
- struct FileHandle {
- struct Message *fh_Link;
- struct MsgPort *fh_Port;
- struct MsgPort *fh_Type;
- LONG fh_Buf;
- LONG fh_Pos;
- LONG fh_End;
- LONG fh_Funcs;
- #define fh_Func1 fh_Funcs
- LONG fh_Func2;
- LONG fh_Func3;
- LONG fh_Args;
- #define fh_Arg1 fh_Args
- LONG fh_Arg2;
- };
-
-
-
- struct DosPacket {
- struct Message *dp_Link;
- struct MsgPort *dp_Port;
-
- LONG dp_Type;
- LONG dp_Res1;
- LONG dp_Res2;
-
- #define dp_Action dp_Type
- #define dp_Status dp_Res1
- #define dp_Status2 dp_Res2
- #define dp_BufAddr dp_Arg1
- LONG dp_Arg1;
- LONG dp_Arg2;
- LONG dp_Arg3;
- LONG dp_Arg4;
- LONG dp_Arg5;
- LONG dp_Arg6;
- LONG dp_Arg7;
- };
-
-
-
- struct StandardPacket {
- struct Message sp_Msg;
- struct DosPacket sp_Pkt;
- };
-
-
- #define ACTION_NIL 0
- #define ACTION_STARTUP 0
- #define ACTION_GET_BLOCK 2
- #define ACTION_SET_MAP 4
- #define ACTION_DIE 5
- #define ACTION_EVENT 6
- #define ACTION_CURRENT_VOLUME 7
- #define ACTION_LOCATE_OBJECT 8
- #define ACTION_RENAME_DISK 9
- #define ACTION_WRITE 'W'
- #define ACTION_READ 'R'
- #define ACTION_FREE_LOCK 15
- #define ACTION_DELETE_OBJECT 16
- #define ACTION_RENAME_OBJECT 17
- #define ACTION_MORE_CACHE 18
- #define ACTION_COPY_DIR 19
- #define ACTION_WAIT_CHAR 20
- #define ACTION_SET_PROTECT 21
- #define ACTION_CREATE_DIR 22
- #define ACTION_EXAMINE_OBJECT 23
- #define ACTION_EXAMINE_NEXT 24
- #define ACTION_DISK_INFO 25
- #define ACTION_INFO 26
- #define ACTION_FLUSH 27
- #define ACTION_SET_COMMENT 28
- #define ACTION_PARENT 29
- #define ACTION_TIMER 30
- #define ACTION_INHIBIT 31
- #define ACTION_DISK_TYPE 32
- #define ACTION_DISK_CHANGE 33
- #define ACTION_SET_DATE 34
-
- #define ACTION_SCREEN_MODE 994
-
- #define ACTION_READ_RETURN 1001
- #define ACTION_WRITE_RETURN 1002
- #define ACTION_SEEK 1008
- #define ACTION_FINDUPDATE 1004
- #define ACTION_FINDINPUT 1005
- #define ACTION_FINDOUTPUT 1006
- #define ACTION_END 1007
- #define ACTION_SET_FILE_SIZE 1022
- #define ACTION_WRITE_PROTECT 1023
-
-
- #define ACTION_SAME_LOCK 40
- #define ACTION_CHANGE_SIGNAL 995
- #define ACTION_FORMAT 1020
- #define ACTION_MAKE_LINK 1021
-
-
- #define ACTION_READ_LINK 1024
- #define ACTION_FH_FROM_LOCK 1026
- #define ACTION_IS_FILESYSTEM 1027
- #define ACTION_CHANGE_MODE 1028
-
- #define ACTION_COPY_DIR_FH 1030
- #define ACTION_PARENT_FH 1031
- #define ACTION_EXAMINE_ALL 1033
- #define ACTION_EXAMINE_FH 1034
-
- #define ACTION_LOCK_RECORD 2008
- #define ACTION_FREE_RECORD 2009
-
- #define ACTION_ADD_NOTIFY 4097
- #define ACTION_REMOVE_NOTIFY 4098
-
-
- #define ACTION_SERIALIZE_DISK 4200
-
-
- struct ErrorString {
- LONG *estr_Nums;
- UBYTE *estr_Strings;
- };
-
-
-
- struct DosLibrary {
- struct Library dl_lib;
- struct RootNode *dl_Root;
- APTR dl_GV;
- LONG dl_A2;
- LONG dl_A5;
- LONG dl_A6;
- struct ErrorString *dl_Errors;
- struct timerequest *dl_TimeReq;
- struct Library *dl_UtilityBase;
- struct Library *dl_IntuitionBase;
- };
-
-
-
- struct RootNode {
- BPTR rn_TaskArray;
- BPTR rn_ConsoleSegment;
- struct DateStamp rn_Time;
- LONG rn_RestartSeg;
- BPTR rn_Info;
- BPTR rn_FileHandlerSegment;
- struct MinList rn_CliList;
-
- struct MsgPort *rn_BootProc;
- BPTR rn_ShellSegment;
- LONG rn_Flags;
- };
-
- #define RNB_WILDSTAR 24
- #define RNF_WILDSTAR (1L<<24)
- #define RNB_PRIVATE1 1
- #define RNF_PRIVATE1 2
-
-
- struct CliProcList {
- struct MinNode cpl_Node;
- LONG cpl_First;
- struct MsgPort **cpl_Array;
-
- };
-
- struct DosInfo {
- BPTR di_McName;
- #define di_ResList di_McName
- BPTR di_DevInfo;
- BPTR di_Devices;
- BPTR di_Handlers;
- APTR di_NetHand;
- struct SignalSemaphore di_DevLock;
- struct SignalSemaphore di_EntryLock;
- struct SignalSemaphore di_DeleteLock;
- };
-
-
-
-
- struct Segment {
- BPTR seg_Next;
- LONG seg_UC;
- BPTR seg_Seg;
- UBYTE seg_Name[4];
- };
-
- #define CMD_SYSTEM -1
- #define CMD_INTERNAL -2
- #define CMD_DISABLED -999
-
-
-
-
- struct CommandLineInterface {
- LONG cli_Result2;
- BSTR cli_SetName;
- BPTR cli_CommandDir;
- LONG cli_ReturnCode;
- BSTR cli_CommandName;
- LONG cli_FailLevel;
- BSTR cli_Prompt;
- BPTR cli_StandardInput;
- BPTR cli_CurrentInput;
- BSTR cli_CommandFile;
- LONG cli_Interactive;
- LONG cli_Background;
- BPTR cli_CurrentOutput;
- LONG cli_DefaultStack;
- BPTR cli_StandardOutput;
- BPTR cli_Module;
- };
-
-
-
-
-
- struct DeviceList {
- BPTR dl_Next;
- LONG dl_Type;
- struct MsgPort * dl_Task;
- BPTR dl_Lock;
- struct DateStamp dl_VolumeDate;
- BPTR dl_LockList;
- LONG dl_DiskType;
- LONG dl_unused;
- BSTR dl_Name;
- };
-
-
-
- struct DevInfo {
- BPTR dvi_Next;
- LONG dvi_Type;
- APTR dvi_Task;
- BPTR dvi_Lock;
- BSTR dvi_Handler;
- LONG dvi_StackSize;
- LONG dvi_Priority;
- LONG dvi_Startup;
- BPTR dvi_SegList;
- BPTR dvi_GlobVec;
- BSTR dvi_Name;
- };
-
-
-
- struct DosList {
- BPTR dol_Next;
- LONG dol_Type;
- struct MsgPort *dol_Task;
- BPTR dol_Lock;
- union {
- struct {
- BSTR dol_Handler;
- LONG dol_StackSize;
- LONG dol_Priority;
- ULONG dol_Startup;
- BPTR dol_SegList;
- BPTR dol_GlobVec;
- } dol_handler;
-
- struct {
- struct DateStamp dol_VolumeDate;
- BPTR dol_LockList;
- LONG dol_DiskType;
- } dol_volume;
-
- struct {
- UBYTE *dol_AssignName;
- struct AssignList *dol_List;
- } dol_assign;
-
- } dol_misc;
-
- BSTR dol_Name;
- };
-
-
-
- struct AssignList {
- struct AssignList *al_Next;
- BPTR al_Lock;
- };
-
-
- #define DLT_DEVICE 0
- #define DLT_DIRECTORY 1
- #define DLT_VOLUME 2
- #define DLT_LATE 3
- #define DLT_NONBINDING 4
- #define DLT_PRIVATE -1
-
-
- struct DevProc {
- struct MsgPort *dvp_Port;
- BPTR dvp_Lock;
- ULONG dvp_Flags;
- struct DosList *dvp_DevNode;
- };
-
-
- #define DVPB_UNLOCK 0
- #define DVPF_UNLOCK (1L << DVPB_UNLOCK)
- #define DVPB_ASSIGN 1
- #define DVPF_ASSIGN (1L << DVPB_ASSIGN)
-
-
- #define LDB_DEVICES 2
- #define LDF_DEVICES (1L << LDB_DEVICES)
- #define LDB_VOLUMES 3
- #define LDF_VOLUMES (1L << LDB_VOLUMES)
- #define LDB_ASSIGNS 4
- #define LDF_ASSIGNS (1L << LDB_ASSIGNS)
- #define LDB_ENTRY 5
- #define LDF_ENTRY (1L << LDB_ENTRY)
- #define LDB_DELETE 6
- #define LDF_DELETE (1L << LDB_DELETE)
-
-
- #define LDB_READ 0
- #define LDF_READ (1L << LDB_READ)
- #define LDB_WRITE 1
- #define LDF_WRITE (1L << LDB_WRITE)
-
-
- #define LDF_ALL (LDF_DEVICES|LDF_VOLUMES|LDF_ASSIGNS)
-
-
- struct FileLock {
- BPTR fl_Link;
- LONG fl_Key;
- LONG fl_Access;
- struct MsgPort * fl_Task;
- BPTR fl_Volume;
- };
-
-
- #define REPORT_STREAM 0
- #define REPORT_TASK 1
- #define REPORT_LOCK 2
- #define REPORT_VOLUME 3
- #define REPORT_INSERT 4
-
-
- #define ABORT_DISK_ERROR 296
- #define ABORT_BUSY 288
-
-
-
- #define RUN_EXECUTE -1
- #define RUN_SYSTEM -2
- #define RUN_SYSTEM_ASYNCH -3
-
-
-
-
-
-
- #define ST_ROOT 1
- #define ST_USERDIR 2
- #define ST_SOFTLINK 3
- #define ST_LINKDIR 4
- #define ST_FILE -3
- #define ST_LINKFILE -4
- #define ST_PIPEFILE -5
-
- #endif
-