blob: 1777c3e7847bde355acc87b9a1c29b4e8aa67b1b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
type
Psem_t = ^sem_t;
sem_t = record
__sem_lock : _pthread_fastlock;
__sem_value : longint;
__sem_waiting : _pthread_descr;
end;
Const
SEM_FAILED = Psem_t(nil);
SEM_VALUE_MAX = ((not 0) shr 1);
function sem_init(__sem:Psem_t; __pshared:longint; __value:dword):longint;cdecl;external threadslib name 'sem_init';
function sem_destroy(__sem:Psem_t):longint;cdecl;external threadslib name 'sem_destroy';
function sem_open(__name:Pchar; __oflag:longint; args:array of const):Psem_t;cdecl;external threadslib name 'sem_open';
function sem_open(__name:Pchar; __oflag:longint):Psem_t;cdecl;varargs;external threadslib name 'sem_open';
function sem_close(__sem:Psem_t):longint;cdecl;external threadslib name 'sem_close';
function sem_unlink(__name:Pchar):longint;cdecl;external threadslib name 'sem_unlink';
function sem_wait(__sem:Psem_t):longint;cdecl;external threadslib name 'sem_wait';
function sem_timedwait(__sem:Psem_t; __abstime:Ptimespec):longint;cdecl;external threadslib name 'sem_timedwait';
function sem_trywait(__sem:Psem_t):longint;cdecl;external threadslib name 'sem_trywait';
function sem_post(__sem:Psem_t):longint;cdecl;external threadslib name 'sem_post';
function sem_getvalue(__sem:Psem_t; __sval:Plongint):longint;cdecl;external threadslib name 'sem_getvalue';
{ ---------------------------------------------------------------------
Borland compatibility types
---------------------------------------------------------------------}
Type
TSemaphore = sem_t;
PSemaphore = ^TSemaphore;
__sem_lock_t = record { Not in header file - anonymous , should equal _pthread_fastlock}
status: Longint;
spinlock: Integer;
end;
TPCharArray = System.TPCharArray;
PPCharArray = System.PPCharArray;
function sem_init(var __sem: sem_t; __pshared:longint; __value:dword):longint;cdecl;external threadslib name 'sem_init';
function sem_destroy(var __sem: sem_t):longint;cdecl;external threadslib name 'sem_destroy';
function sem_close(var __sem: sem_t):longint;cdecl;external threadslib name 'sem_close';
function sem_wait(var __sem: sem_t):longint;cdecl;external threadslib name 'sem_wait';
function sem_timedwait(var __sem: sem_t; __abstime:Ptimespec):longint;cdecl;external threadslib name 'sem_timedwait';
function sem_trywait(var __sem: sem_t):longint;cdecl;external threadslib name 'sem_trywait';
function sem_post(var __sem: sem_t):longint;cdecl;external threadslib name 'sem_post';
function sem_getvalue(var __sem: sem_t; __sval:Plongint):longint;cdecl;external threadslib name 'sem_getvalue';
|