home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 032.lha / include / exec / tasks.g < prev    next >
Text File  |  1987-05-16  |  2KB  |  86 lines

  1. type
  2.     Node_t = unknown 14,
  3.     List_t = unknown 14,
  4.  
  5.     Task_t = struct {
  6.     Node_t tc_Node;
  7.     byte   tc_Flags;
  8.     byte   tc_State;
  9.     short  tc_IDNestCnt;
  10.     short  tc_TDNestCnt;
  11.     ulong  tc_SigAlloc;
  12.     ulong  tc_SigWait;
  13.     ulong  tc_SigRecvd;
  14.     ulong  tc_SigExcept;
  15.     uint   tc_TrapAlloc;
  16.     uint   tc_TrapAble;
  17.     *byte  tc_ExceptData;
  18.     *byte  tc_ExceptCode;
  19.     *byte  tc_TrapData;
  20.     *byte  tc_TrapCode;
  21.     *byte  tc_SPReg;
  22.     *byte  tc_SPLower;
  23.     *byte  tc_SPUpper;
  24.     proc()void tc_Switch;
  25.     proc()void tc_Launch;
  26.     List_t tc_MemEntry;
  27.     *byte  tc_UserData;
  28.     };
  29.  
  30. byte
  31.     TB_PROCTIME       = 0,
  32.     TB_STACKCHK       = 4,
  33.     TB_EXCEPT          = 5,
  34.     TB_SWITCH          = 6,
  35.     TB_LAUNCH          = 7,
  36.  
  37.     TF_PROCTIME       = (1<<0),
  38.     TF_STACKCHK       = (1<<4),
  39.     TF_EXCEPT          = (1<<5),
  40.     TF_SWITCH          = (1<<6),
  41.     TF_LAUNCH          = (1<<7),
  42.  
  43.     TS_INVALID          = 0,
  44.     TS_ADDED          = 1,
  45.     TS_RUN          = 2,
  46.     TS_READY          = 3,
  47.     TS_WAIT          = 4,
  48.     TS_EXCEPT          = 5,
  49.     TS_REMOVED          = 6,
  50.  
  51.     SIGB_ABORT          = 0,
  52.     SIGB_CHILD          = 1,
  53.     SIGB_BLIT          = 4,
  54.     SIGB_SINGLE       = 4,
  55.     SIGB_DOS          = 8,
  56.  
  57.     SIGF_ABORT          = (1<<0),
  58.     SIGF_CHILD          = (1<<1),
  59.     SIGF_BLIT          = (1<<4),
  60.     SIGF_SINGLE       = (1<<4),
  61.     SIGF_DOS          = (1<<8);
  62.  
  63. extern
  64.     AddTask(*Task_t task; *byte initialPC, finalPC)void,
  65.     AllocSignal(ulong signalNum)ulong,
  66.     AllocTrap(ulong trapNum)ulong,
  67.     CreateTask(*char name; short pri; *byte initPC; ulong stackSize)*Task_t,
  68.     DeleteTask(*Task_t task)void,
  69.     Disable()void,
  70.     Enable()void,
  71.     FindTask(*char name)*Task_t,
  72.     Forbid()void,
  73.     FreeSignal(ulong sigNum)void,
  74.     FreeTrap(ulong trapNum)void,
  75.     getCC()uint,
  76.     Permit()void,
  77.     RemTask(*Task_t t)void,
  78.     SetExcept(ulong newSignals, signalMask)ulong,
  79.     SetSignal(ulong newSignals, signalMask)ulong,
  80.     SetSR(ulong newSR, mask)uint,
  81.     SetTaskPri(*Task_t t; long priority)short,
  82.     Signal(*Task_t t; ulong signals)void,
  83.     SuperState()*byte,
  84.     UserState(*byte sysStack)void,
  85.     Wait(ulong signalSet)ulong;
  86.