Apache Portable Runtime
apr_time.h
Go to the documentation of this file.
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2  * contributor license agreements. See the NOTICE file distributed with
3  * this work for additional information regarding copyright ownership.
4  * The ASF licenses this file to You under the Apache License, Version 2.0
5  * (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef APR_TIME_H
18 #define APR_TIME_H
19 
20 /**
21  * @file apr_time.h
22  * @brief APR Time Library
23  */
24 
25 #include "apr.h"
26 #include "apr_pools.h"
27 #include "apr_errno.h"
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif /* __cplusplus */
32 
33 /**
34  * @defgroup apr_time Time Routines
35  * @ingroup APR
36  * @{
37  */
38 
39 /** month names */
40 APR_DECLARE_DATA extern const char apr_month_snames[12][4];
41 /** day names */
42 APR_DECLARE_DATA extern const char apr_day_snames[7][4];
43 
44 
45 /** number of microseconds since 00:00:00 January 1, 1970 UTC */
46 typedef apr_int64_t apr_time_t;
47 
48 
49 /** mechanism to properly type apr_time_t literals */
50 #define APR_TIME_C(val) APR_INT64_C(val)
51 
52 /** mechanism to properly print apr_time_t values */
53 #define APR_TIME_T_FMT APR_INT64_T_FMT
54 
55 /** intervals for I/O timeouts, in microseconds */
56 typedef apr_int64_t apr_interval_time_t;
57 /** short interval for I/O timeouts, in microseconds */
58 typedef apr_int32_t apr_short_interval_time_t;
59 
60 /** number of microseconds per second */
61 #define APR_USEC_PER_SEC APR_TIME_C(1000000)
62