Mercurial > trustbridge > nss-cmake-static
comparison nspr/pr/include/prinrval.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: prinrval.h | |
8 ** Description: API to interval timing functions of NSPR. | |
9 ** | |
10 ** | |
11 ** NSPR provides interval times that are independent of network time | |
12 ** of day values. Interval times are (in theory) accurate regardless | |
13 ** of host processing requirements and also very cheap to acquire. It | |
14 ** is expected that getting an interval time while in a synchronized | |
15 ** function (holding one's lock). | |
16 **/ | |
17 | |
18 #if !defined(prinrval_h) | |
19 #define prinrval_h | |
20 | |
21 #include "prtypes.h" | |
22 | |
23 PR_BEGIN_EXTERN_C | |
24 | |
25 /**********************************************************************/ | |
26 /************************* TYPES AND CONSTANTS ************************/ | |
27 /**********************************************************************/ | |
28 | |
29 typedef PRUint32 PRIntervalTime; | |
30 | |
31 /*********************************************************************** | |
32 ** DEFINES: PR_INTERVAL_MIN | |
33 ** PR_INTERVAL_MAX | |
34 ** DESCRIPTION: | |
35 ** These two constants define the range (in ticks / second) of the | |
36 ** platform dependent type, PRIntervalTime. These constants bound both | |
37 ** the period and the resolution of a PRIntervalTime. | |
38 ***********************************************************************/ | |
39 #define PR_INTERVAL_MIN 1000UL | |
40 #define PR_INTERVAL_MAX 100000UL | |
41 | |
42 /*********************************************************************** | |
43 ** DEFINES: PR_INTERVAL_NO_WAIT | |
44 ** PR_INTERVAL_NO_TIMEOUT | |
45 ** DESCRIPTION: | |
46 ** Two reserved constants are defined in the PRIntervalTime namespace. | |
47 ** They are used to indicate that the process should wait no time (return | |
48 ** immediately) or wait forever (never time out), respectively. | |
49 ** Note: PR_INTERVAL_NO_TIMEOUT passed as input to PR_Connect is | |
50 ** interpreted as use the OS's connect timeout. | |
51 ** | |
52 ***********************************************************************/ | |
53 #define PR_INTERVAL_NO_WAIT 0UL | |
54 #define PR_INTERVAL_NO_TIMEOUT 0xffffffffUL | |
55 | |
56 /**********************************************************************/ | |
57 /****************************** FUNCTIONS *****************************/ | |
58 /**********************************************************************/ | |
59 | |
60 /*********************************************************************** | |
61 ** FUNCTION: PR_IntervalNow | |
62 ** DESCRIPTION: | |
63 ** Return the value of NSPR's free running interval timer. That timer | |
64 ** can be used to establish epochs and determine intervals (be computing | |
65 ** the difference between two times). | |
66 ** INPUTS: void | |
67 ** OUTPUTS: void | |
68 ** RETURN: PRIntervalTime | |
69 ** | |
70 ** SIDE EFFECTS: | |
71 ** None | |
72 ** RESTRICTIONS: | |
73 ** The units of PRIntervalTime are platform dependent. They are chosen | |
74 ** such that they are appropriate for the host OS, yet provide sufficient | |
75 ** resolution and period to be useful to clients. | |
76 ** MEMORY: N/A | |
77 ** ALGORITHM: Platform dependent | |
78 ***********************************************************************/ | |
79 NSPR_API(PRIntervalTime) PR_IntervalNow(void); | |
80 | |
81 /*********************************************************************** | |
82 ** FUNCTION: PR_TicksPerSecond | |
83 ** DESCRIPTION: | |
84 ** Return the number of ticks per second for PR_IntervalNow's clock. | |
85 ** The value will be in the range [PR_INTERVAL_MIN..PR_INTERVAL_MAX]. | |
86 ** INPUTS: void | |
87 ** OUTPUTS: void | |
88 ** RETURN: PRUint32 | |
89 ** | |
90 ** SIDE EFFECTS: | |
91 ** None | |
92 ** RESTRICTIONS: | |
93 ** None | |
94 ** MEMORY: N/A | |
95 ** ALGORITHM: N/A | |
96 ***********************************************************************/ | |
97 NSPR_API(PRUint32) PR_TicksPerSecond(void); | |
98 | |
99 /*********************************************************************** | |
100 ** FUNCTION: PR_SecondsToInterval | |
101 ** PR_MillisecondsToInterval | |
102 ** PR_MicrosecondsToInterval | |
103 ** DESCRIPTION: | |
104 ** Convert standard clock units to platform dependent intervals. | |
105 ** INPUTS: PRUint32 | |
106 ** OUTPUTS: void | |
107 ** RETURN: PRIntervalTime | |
108 ** | |
109 ** SIDE EFFECTS: | |
110 ** None | |
111 ** RESTRICTIONS: | |
112 ** Conversion may cause overflow, which is not reported. | |
113 ** MEMORY: N/A | |
114 ** ALGORITHM: N/A | |
115 ***********************************************************************/ | |
116 NSPR_API(PRIntervalTime) PR_SecondsToInterval(PRUint32 seconds); | |
117 NSPR_API(PRIntervalTime) PR_MillisecondsToInterval(PRUint32 milli); | |
118 NSPR_API(PRIntervalTime) PR_MicrosecondsToInterval(PRUint32 micro); | |
119 | |
120 /*********************************************************************** | |
121 ** FUNCTION: PR_IntervalToSeconds | |
122 ** PR_IntervalToMilliseconds | |
123 ** PR_IntervalToMicroseconds | |
124 ** DESCRIPTION: | |
125 ** Convert platform dependent intervals to standard clock units. | |
126 ** INPUTS: PRIntervalTime | |
127 ** OUTPUTS: void | |
128 ** RETURN: PRUint32 | |
129 ** | |
130 ** SIDE EFFECTS: | |
131 ** None | |
132 ** RESTRICTIONS: | |
133 ** Conversion may cause overflow, which is not reported. | |
134 ** MEMORY: N/A | |
135 ** ALGORITHM: N/A | |
136 ***********************************************************************/ | |
137 NSPR_API(PRUint32) PR_IntervalToSeconds(PRIntervalTime ticks); | |
138 NSPR_API(PRUint32) PR_IntervalToMilliseconds(PRIntervalTime ticks); | |
139 NSPR_API(PRUint32) PR_IntervalToMicroseconds(PRIntervalTime ticks); | |
140 | |
141 PR_END_EXTERN_C | |
142 | |
143 | |
144 #endif /* !defined(prinrval_h) */ | |
145 | |
146 /* prinrval.h */ |