home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / IncPOS.lzx / pDOS / Process.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-18  |  2.8 KB  |  74 lines

  1. #ifndef __INC_POS_PDOS_PROCESS_H
  2. #define __INC_POS_PDOS_PROCESS_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Burkarth
  9.  $DAT >>Process.h<<   08 Mar 1997    17:06:20 - (C) ProDAD
  10. *******************************************************************/
  11. #ifndef __INC_POS_PEXEC_TASK_H
  12. #include <pExec/Task.h>
  13. #endif
  14. #ifndef __INC_POS_PEXEC_MSGPORT_H
  15. #include <pExec/MsgPort.h>
  16. #endif
  17. #ifndef __INC_POS_PEXEC_MEMORY_H
  18. #include <pExec/Memory.h>
  19. #endif
  20.  
  21.  
  22.  
  23. /*----------------------------------
  24. -----------------------------------*/
  25. struct pOS_Process
  26. {
  27.   struct pOS_Task         pr_Task;
  28.   struct pOS_MsgPort      pr_MsgPort;
  29.  
  30.   UBYTE pr_Pad[80];
  31.  
  32.   struct pOS_SegmentLst  *pr_SegList;      /* segment used by this process */
  33.   UWORD                   pr_TaskNum;
  34.   SWORD                   pr_Error2;       /* Value of secondary result from last IO (same as pOS_GetIoErr()) */
  35.   struct pOS_FileLock    *pr_CurrentDir;   /* Lock associated with current directory */
  36.   struct pOS_FileHandle  *pr_CIS;          /* Current Input Stream  */
  37.   struct pOS_FileHandle  *pr_COS;          /* Current Output Stream */
  38.   struct pOS_FileHandle  *pr_CES;          /* Error stream          */
  39.   struct pOS_Shell       *pr_HomeShell;
  40.   struct pOS_Window      *pr_ReqWindow;    /* Window for error printing (~0 => no requester) */
  41.   ULONG                   pr_Flags;        /* (enum pOS_ProcessFlags) */
  42.   VOID  (*pr_Exit_func)(_R_LB struct pOS_DosBase*,_R_A0 struct pOS_Process*);
  43.   ULONG                   pr_ExitData;     /* Passed as an argument to pr_ExitCode. */
  44.  
  45.   const CHAR             *pr_Arguments;    /* Arguments passed to the process at start */
  46.   struct pOS_FileHandle  *pr_ConsoleFH;    /* only in shell-mode */
  47.   struct pOS_FileLock    *pr_ProgDirLock;  /* Shared lock on Program-Directory (PROGDIR:) */
  48.   struct pOS_MonLock     *pr_CurrentMon;
  49.  
  50.   struct pOS_MemPool     pr_MemPool;       /* Pool for (4096 Bytes, MEMF_PUBLIC) (pr_LocalVars,) */
  51.                                     /* ACHTUNG: Pool ist nur für Single-Task ausgelegt. */
  52.   struct pOS_ExList      pr_LocalVars;     /* Local env. variables (struct pOS_LocalVar*) */
  53.  
  54.   VOID (*pr_Signal_func)(_R_LB struct pOS_DosBase*,_R_A0 struct pOS_Process*,_R_A1 struct pOS_FileHandle*,_R_D0 ULONG);
  55.  
  56.   UBYTE pr_Reserved[64];
  57. };
  58.  
  59.  
  60.  
  61. enum pOS_ProcessFlags
  62. {
  63.   PROCF_FreeSegList     = 0x0001, /* pr_SegList wird beim Ende freigegeben */
  64.   PROCF_FreeCurrDir     = 0x0002, /* pr_CurrentDir */
  65.   PROCF_FreeCIS         = 0x0004, /* pr_CIS */
  66.   PROCF_FreeCOS         = 0x0008, /* */
  67.   PROCF_FreeCES         = 0x0010, /* */
  68.   PROCF_FreeConsoleFH   = 0x0020, /* pr_ConsoleFH */
  69.   PROCF_FreeProgDir     = 0x0040, /* pr_ProgDirLock */
  70.   PROCF_FreeProcNum     = 0x0080, /* pr_TaskNum */
  71. };
  72.  
  73. #endif
  74.