home *** CD-ROM | disk | FTP | other *** search
- #ifndef __INC_POS_PDOS_PROCESS_H
- #define __INC_POS_PDOS_PROCESS_H
- /*******************************************************************
- Includes Release 24
- (C) Copyright 1995-1997 proDAD
- All Rights Reserved
-
- $AUT Holger Burkarth
- $DAT >>Process.h<< 08 Mar 1997 17:06:20 - (C) ProDAD
- *******************************************************************/
- #ifndef __INC_POS_PEXEC_TASK_H
- #include <pExec/Task.h>
- #endif
- #ifndef __INC_POS_PEXEC_MSGPORT_H
- #include <pExec/MsgPort.h>
- #endif
- #ifndef __INC_POS_PEXEC_MEMORY_H
- #include <pExec/Memory.h>
- #endif
-
-
-
- /*----------------------------------
- -----------------------------------*/
- struct pOS_Process
- {
- struct pOS_Task pr_Task;
- struct pOS_MsgPort pr_MsgPort;
-
- UBYTE pr_Pad[80];
-
- struct pOS_SegmentLst *pr_SegList; /* segment used by this process */
- UWORD pr_TaskNum;
- SWORD pr_Error2; /* Value of secondary result from last IO (same as pOS_GetIoErr()) */
- struct pOS_FileLock *pr_CurrentDir; /* Lock associated with current directory */
- struct pOS_FileHandle *pr_CIS; /* Current Input Stream */
- struct pOS_FileHandle *pr_COS; /* Current Output Stream */
- struct pOS_FileHandle *pr_CES; /* Error stream */
- struct pOS_Shell *pr_HomeShell;
- struct pOS_Window *pr_ReqWindow; /* Window for error printing (~0 => no requester) */
- ULONG pr_Flags; /* (enum pOS_ProcessFlags) */
- VOID (*pr_Exit_func)(_R_LB struct pOS_DosBase*,_R_A0 struct pOS_Process*);
- ULONG pr_ExitData; /* Passed as an argument to pr_ExitCode. */
-
- const CHAR *pr_Arguments; /* Arguments passed to the process at start */
- struct pOS_FileHandle *pr_ConsoleFH; /* only in shell-mode */
- struct pOS_FileLock *pr_ProgDirLock; /* Shared lock on Program-Directory (PROGDIR:) */
- struct pOS_MonLock *pr_CurrentMon;
-
- struct pOS_MemPool pr_MemPool; /* Pool for (4096 Bytes, MEMF_PUBLIC) (pr_LocalVars,) */
- /* ACHTUNG: Pool ist nur für Single-Task ausgelegt. */
- struct pOS_ExList pr_LocalVars; /* Local env. variables (struct pOS_LocalVar*) */
-
- VOID (*pr_Signal_func)(_R_LB struct pOS_DosBase*,_R_A0 struct pOS_Process*,_R_A1 struct pOS_FileHandle*,_R_D0 ULONG);
-
- UBYTE pr_Reserved[64];
- };
-
-
-
- enum pOS_ProcessFlags
- {
- PROCF_FreeSegList = 0x0001, /* pr_SegList wird beim Ende freigegeben */
- PROCF_FreeCurrDir = 0x0002, /* pr_CurrentDir */
- PROCF_FreeCIS = 0x0004, /* pr_CIS */
- PROCF_FreeCOS = 0x0008, /* */
- PROCF_FreeCES = 0x0010, /* */
- PROCF_FreeConsoleFH = 0x0020, /* pr_ConsoleFH */
- PROCF_FreeProgDir = 0x0040, /* pr_ProgDirLock */
- PROCF_FreeProcNum = 0x0080, /* pr_TaskNum */
- };
-
- #endif
-