#include <@{"pExec/Task.h" LINK "pExec/Task.h/File"}>
#endif
#ifndef __INC_POS_PEXEC_MSGPORT_H
#include <@{"pExec/MsgPort.h" LINK "pExec/MsgPort.h/File"}>
#endif
#ifndef __INC_POS_PEXEC_MEMORY_H
#include <@{"pExec/Memory.h" LINK "pExec/Memory.h/File"}>
#endif
/*----------------------------------
-----------------------------------*/
struct pOS_Process
{
@{"struct pOS_Task" LINK "pExec/Task.h/File" 18} pr_Task;
@{"struct pOS_MsgPort" LINK "pExec/MsgPort.h/File" 18} pr_MsgPort;
@{"UBYTE" LINK "pExec/Types.h/File" 95} pr_Pad[80];
@{"struct pOS_SegmentLst" LINK "pDOS/Segment.h/File" 32} *pr_SegList; /* segment used by this process */
@{"UWORD" LINK "pExec/Types.h/File" 93} pr_TaskNum;
@{"SWORD" LINK "pExec/Types.h/File" 92} pr_Error2; /* Value of secondary result from last IO (same as @{"pOS_GetIoErr()" LINK "pDOSD/pOS_GetIoErr"}) */
@{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20} *pr_CurrentDir; /* Lock associated with current directory */
@{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *pr_CIS; /* Current Input Stream */
@{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *pr_COS; /* Current Output Stream */
@{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *pr_CES; /* Error stream */
struct pOS_Shell *pr_HomeShell;
@{"struct pOS_Window" LINK "pScreen/Window.h/File" 18} *pr_ReqWindow; /* Window for error printing (~0 => no requester) */
@{"ULONG" LINK "pExec/Types.h/File" 91} pr_Flags; /* (enum pOS_ProcessFlags) */
@{"VOID" LINK "pExec/Types.h/File" 83} (*pr_Exit_func)(@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosBase" LINK "pDOS/DosBase.h/File" 30}*,_R_A0 struct pOS_Process*);
@{"ULONG" LINK "pExec/Types.h/File" 91} pr_ExitData; /* Passed as an argument to pr_ExitCode. */
const @{"CHAR" LINK "pExec/Types.h/File" 100} *pr_Arguments; /* Arguments passed to the process at start */
@{"struct pOS_FileHandle" LINK "pDOS/Files.h/File" 24} *pr_ConsoleFH; /* only in shell-mode */
@{"struct pOS_FileLock" LINK "pDOS/Lock.h/File" 20} *pr_ProgDirLock; /* Shared lock on Program-Directory (PROGDIR:) */
@{"struct pOS_MonLock" LINK "pGFX/MonLock.h/File" 18} *pr_CurrentMon;
@{"struct pOS_MemPool" LINK "pExec/Memory.h/File" 74} pr_MemPool; /* Pool for (4096 Bytes, MEMF_PUBLIC) (pr_LocalVars,) */
/* ACHTUNG: Pool ist nur für Single-Task ausgelegt. */
@{"struct pOS_ExList" LINK "pExec/List.h/File" 50} pr_LocalVars; /* Local env. variables (@{"struct pOS_LocalVar" LINK "pDOS/Var.h/File" 17}*) */
@{"VOID" LINK "pExec/Types.h/File" 83} (*pr_Signal_func)(@{"_R_LB" LINK "pExec/Types.h/File" 35} @{"struct pOS_DosBase" LINK "pDOS/DosBase.h/File" 30}*,_R_A0 struct pOS_Process*,_R_A1 struct pOS_FileHandle*,_R_D0 ULONG);
@{"UBYTE" LINK "pExec/Types.h/File" 95} pr_Reserved[64];
};
enum pOS_ProcessFlags
{
PROCF_FreeSegList = 0x0001, /* pr_SegList wird beim Ende freigegeben */