home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dream 45
/
Amiga_Dream_45.iso
/
Amiga
/
emulation
/
d64edir.lha
/
inc
/
exec
/
semaphores.h
< prev
next >
Wrap
Text File
|
1997-05-06
|
2KB
|
43 lines
{$ifndef EXEC_SEMAPHORES_H}
CONST EXEC_SEMAPHORES_H = 0;
{$ifndef EXEC_NODES_H;incl"exec/nodes.h";endif}
{$ifndef EXEC_LISTS_H;incl"exec/lists.h";endif}
{$ifndef EXEC_PORTS_H;incl"exec/ports.h";endif}
{$ifndef EXEC_TASKS_H;incl"exec/tasks.h";endif}
TYPE p_Semaphore = ^Semaphore;
Semaphore = record
sm_MsgPort: MsgPort;
sm_Bids: integer
end;
p_SemaphoreRequest = ^SemaphoreRequest;
SemaphoreRequest = record
sr_Link: MinNode;
sr_Waiter: p_Task
end;
p_SignalSemaphore = ^SignalSemaphore;
SignalSemaphore = record
ss_Link: Node;
ss_NestCount: integer;
ss_WaitQueue: MinList;
ss_MultipleLink: SemaphoreRequest;
ss_Owner: p_Task;
ss_QueueCount: Integer
end;
{$endif}
{$ifndef EXEC_SEMAPHORES_LIB}
Const EXEC_SEMAPHORES_LIB = 4711;
Library SysBase:
-540: Function Procure(a0,a1: Ptr): boolean;
-546: Procedure Vacate(a0: Ptr);
-558: Procedure InitSemaphore(a0: p_SignalSemaphore);
-564: Procedure ObtainSemaphore(a0: p_SignalSemaphore);
-570: Procedure ReleaseSemaphore(a0: p_SignalSemaphore);
-576: Function AttemptSemaphore(a0: p_SignalSemaphore): integer;
-582: Procedure ObtainSemaphoreList(a0: Ptr);
-588: Procedure ReleaseSemaphoreList(a0: Ptr);
-594: Function FindSemaphore(a1: stryng): p_SignalSemaphore;
-600: Procedure AddSempahore(a1: p_SignalSemaphore);
-606: Procedure RemSemaphore(a1: p_SignalSemaphore);
end;
{$endif}