Mercurial > trustbridge > nss-cmake-static
comparison nspr/pr/include/prrwlock.h @ 0:1e5118fa0cb1
This is NSS with a Cmake Buildsyste
To compile a static NSS library for Windows we've used the
Chromium-NSS fork and added a Cmake buildsystem to compile
it statically for Windows. See README.chromium for chromium
changes and README.trustbridge for our modifications.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Mon, 28 Jul 2014 10:47:06 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:1e5118fa0cb1 |
---|---|
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ | |
2 /* This Source Code Form is subject to the terms of the Mozilla Public | |
3 * License, v. 2.0. If a copy of the MPL was not distributed with this | |
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | |
5 | |
6 /* | |
7 ** File: prrwlock.h | |
8 ** Description: API to basic reader-writer lock functions of NSPR. | |
9 ** | |
10 **/ | |
11 | |
12 #ifndef prrwlock_h___ | |
13 #define prrwlock_h___ | |
14 | |
15 #include "prtypes.h" | |
16 | |
17 PR_BEGIN_EXTERN_C | |
18 | |
19 /* | |
20 * PRRWLock -- | |
21 * | |
22 * The reader writer lock, PRRWLock, is an opaque object to the clients | |
23 * of NSPR. All routines operate on a pointer to this opaque entity. | |
24 */ | |
25 | |
26 | |
27 typedef struct PRRWLock PRRWLock; | |
28 | |
29 #define PR_RWLOCK_RANK_NONE 0 | |
30 | |
31 | |
32 /*********************************************************************** | |
33 ** FUNCTION: PR_NewRWLock | |
34 ** DESCRIPTION: | |
35 ** Returns a pointer to a newly created reader-writer lock object. | |
36 ** INPUTS: Lock rank | |
37 ** Lock name | |
38 ** OUTPUTS: void | |
39 ** RETURN: PRRWLock* | |
40 ** If the lock cannot be created because of resource constraints, NULL | |
41 ** is returned. | |
42 ** | |
43 ***********************************************************************/ | |
44 NSPR_API(PRRWLock*) PR_NewRWLock(PRUint32 lock_rank, const char *lock_name); | |
45 | |
46 /*********************************************************************** | |
47 ** FUNCTION: PR_DestroyRWLock | |
48 ** DESCRIPTION: | |
49 ** Destroys a given RW lock object. | |
50 ** INPUTS: PRRWLock *lock - Lock to be freed. | |
51 ** OUTPUTS: void | |
52 ** RETURN: None | |
53 ***********************************************************************/ | |
54 NSPR_API(void) PR_DestroyRWLock(PRRWLock *lock); | |
55 | |
56 /*********************************************************************** | |
57 ** FUNCTION: PR_RWLock_Rlock | |
58 ** DESCRIPTION: | |
59 ** Apply a read lock (non-exclusive) on a RWLock | |
60 ** INPUTS: PRRWLock *lock - Lock to be read-locked. | |
61 ** OUTPUTS: void | |
62 ** RETURN: None | |
63 ***********************************************************************/ | |
64 NSPR_API(void) PR_RWLock_Rlock(PRRWLock *lock); | |
65 | |
66 /*********************************************************************** | |
67 ** FUNCTION: PR_RWLock_Wlock | |
68 ** DESCRIPTION: | |
69 ** Apply a write lock (exclusive) on a RWLock | |
70 ** INPUTS: PRRWLock *lock - Lock to write-locked. | |
71 ** OUTPUTS: void | |
72 ** RETURN: None | |
73 ***********************************************************************/ | |
74 NSPR_API(void) PR_RWLock_Wlock(PRRWLock *lock); | |
75 | |
76 /*********************************************************************** | |
77 ** FUNCTION: PR_RWLock_Unlock | |
78 ** DESCRIPTION: | |
79 ** Release a RW lock. Unlocking an unlocked lock has undefined results. | |
80 ** INPUTS: PRRWLock *lock - Lock to unlocked. | |
81 ** OUTPUTS: void | |
82 ** RETURN: void | |
83 ***********************************************************************/ | |
84 NSPR_API(void) PR_RWLock_Unlock(PRRWLock *lock); | |
85 | |
86 PR_END_EXTERN_C | |
87 | |
88 #endif /* prrwlock_h___ */ |