Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(596)

Side by Side Diff: nspr/pr/include/prinrval.h

Issue 2078763002: Delete bundled copy of NSS and replace with README. (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/nss@master
Patch Set: Delete bundled copy of NSS and replace with README. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « nspr/pr/include/prinit.h ('k') | nspr/pr/include/prio.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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 */
OLDNEW
« no previous file with comments | « nspr/pr/include/prinit.h ('k') | nspr/pr/include/prio.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698