home *** CD-ROM | disk | FTP | other *** search
- type
- MsgPort_t = unknown 34,
- MinNode_t = unknown 8,
- Node_t = unknown 14,
-
- Semaphore_t = struct {
- MsgPort_t sm_MsgPort;
- uint sm_Bids;
- },
-
- SemaphoreRequest_t = struct {
- MinNode_t sr_Link;
- *Task_t sr_Waiter;
- },
-
- SignalSemaphore_t = struct {
- Node_t ss_Link;
- uint ss_NestCount;
- MinList_t ss_WaitQueue;
- SemaphoreRequest_t ss_MultipleLink;
- *Task_t ss_Owner;
- uint ss_QueueCount;
- };
-
- extern
- AddSemaphore(*SignalSemaphore_t ss)void,
- AttemptSemaphore(*SignalSemaphore_t ss)bool,
- FindSemaphore(*char name)*SignalSemaphore_t,
- InitSemaphore(*SignalSemaphore_t ss)void,
- ObtainSemaphore(*SignalSemaphore_t ss)void,
- ObtainSemaphoreList(*SignalSemaphore_t ss)void,
- Procure(*Semaphore_t sm; *Message_t bidMessage)bool,
- ReleaseSemaphore(*SignalSemaphore_t ss)void,
- ReleaseSemaphoreList(*SignalSemaphore_t ss)void,
- RemSemaphore(*SignalSemaphore_t ss)void,
- Vacate(*Semaphore_t sm)void;
-