etc/services - sync with NetBSD-8
[minix.git] / external / bsd / libevent / man / evthread_lock_callbacks.3
blobc42b55cdf0e4161c2840130ed43784ffff2c53dd
1 .TH "evthread_lock_callbacks" 3 "Tue Jan 27 2015" "libevent" \" -*- nroff -*-
2 .ad l
3 .nh
4 .SH NAME
5 evthread_lock_callbacks \- 
6 .PP
7 This structure describes the interface a threading library uses for locking\&.  
9 .SH SYNOPSIS
10 .br
11 .PP
12 .PP
13 \fC#include <thread\&.h>\fP
14 .SS "Data Fields"
16 .in +1c
17 .ti -1c
18 .RI "void *(* \fBalloc\fP )(unsigned locktype)"
19 .br
20 .RI "\fIFunction to allocate and initialize new lock of type 'locktype'\&. \fP"
21 .ti -1c
22 .RI "void(* \fBfree\fP )(void *\fBlock\fP, unsigned locktype)"
23 .br
24 .RI "\fIFuntion to release all storage held in 'lock', which was created with type 'locktype'\&. \fP"
25 .ti -1c
26 .RI "int(* \fBlock\fP )(unsigned mode, void *lock)"
27 .br
28 .RI "\fIAcquire an already-allocated lock at 'lock' with mode 'mode'\&. \fP"
29 .ti -1c
30 .RI "int \fBlock_api_version\fP"
31 .br
32 .RI "\fIThe current version of the locking API\&. \fP"
33 .ti -1c
34 .RI "unsigned \fBsupported_locktypes\fP"
35 .br
36 .RI "\fIWhich kinds of locks does this version of the locking API support? A bitfield of EVTHREAD_LOCKTYPE_RECURSIVE and EVTHREAD_LOCKTYPE_READWRITE\&. \fP"
37 .ti -1c
38 .RI "int(* \fBunlock\fP )(unsigned mode, void *\fBlock\fP)"
39 .br
40 .RI "\fIRelease a lock at 'lock' using mode 'mode'\&. \fP"
41 .in -1c
42 .SH "Detailed Description"
43 .PP 
44 This structure describes the interface a threading library uses for locking\&. 
46 It's used to tell \fBevthread_set_lock_callbacks()\fP how to use locking on this platform\&. 
47 .SH "Field Documentation"
48 .PP 
49 .SS "void*(* evthread_lock_callbacks::alloc)(unsigned locktype)"
51 .PP
52 Function to allocate and initialize new lock of type 'locktype'\&. Returns NULL on failure\&. 
53 .SS "void(* evthread_lock_callbacks::free)(void *\fBlock\fP, unsigned locktype)"
55 .PP
56 Funtion to release all storage held in 'lock', which was created with type 'locktype'\&. 
57 .SS "int(* evthread_lock_callbacks::lock)(unsigned mode, void *lock)"
59 .PP
60 Acquire an already-allocated lock at 'lock' with mode 'mode'\&. Returns 0 on success, and nonzero on failure\&. 
61 .SS "int evthread_lock_callbacks::lock_api_version"
63 .PP
64 The current version of the locking API\&. Set this to EVTHREAD_LOCK_API_VERSION 
65 .SS "unsigned evthread_lock_callbacks::supported_locktypes"
67 .PP
68 Which kinds of locks does this version of the locking API support? A bitfield of EVTHREAD_LOCKTYPE_RECURSIVE and EVTHREAD_LOCKTYPE_READWRITE\&. (Note that RECURSIVE locks are currently mandatory, and READWRITE locks are not currently used\&.) 
69 .SS "int(* evthread_lock_callbacks::unlock)(unsigned mode, void *\fBlock\fP)"
71 .PP
72 Release a lock at 'lock' using mode 'mode'\&. Returns 0 on success, and nonzero on failure\&. 
74 .SH "Author"
75 .PP 
76 Generated automatically by Doxygen for libevent from the source code\&.