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

  1. type
  2.     MsgPort_t = unknown 34,
  3.     MinNode_t = unknown 8,
  4.     Node_t = unknown 14,
  5.  
  6.     Semaphore_t = struct {
  7.     MsgPort_t sm_MsgPort;
  8.     uint sm_Bids;
  9.     },
  10.  
  11.     SemaphoreRequest_t = struct {
  12.     MinNode_t sr_Link;
  13.     *Task_t sr_Waiter;
  14.     },
  15.  
  16.     SignalSemaphore_t = struct {
  17.     Node_t ss_Link;
  18.     uint ss_NestCount;
  19.     MinList_t ss_WaitQueue;
  20.     SemaphoreRequest_t ss_MultipleLink;
  21.     *Task_t ss_Owner;
  22.     uint ss_QueueCount;
  23.     };
  24.  
  25. extern
  26.     AddSemaphore(*SignalSemaphore_t ss)void,
  27.     AttemptSemaphore(*SignalSemaphore_t ss)bool,
  28.     FindSemaphore(*char name)*SignalSemaphore_t,
  29.     InitSemaphore(*SignalSemaphore_t ss)void,
  30.     ObtainSemaphore(*SignalSemaphore_t ss)void,
  31.     ObtainSemaphoreList(*SignalSemaphore_t ss)void,
  32.     Procure(*Semaphore_t sm; *Message_t bidMessage)bool,
  33.     ReleaseSemaphore(*SignalSemaphore_t ss)void,
  34.     ReleaseSemaphoreList(*SignalSemaphore_t ss)void,
  35.     RemSemaphore(*SignalSemaphore_t ss)void,
  36.     Vacate(*Semaphore_t sm)void;
  37.