]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/SquidTime.h
2 * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 /* DEBUG: section 21 Time Functions */
17 /* NP: sys/time.h is provided by libcompat */
19 /* globals for accessing time */
20 extern struct timeval current_time
;
21 extern double current_dtime
;
22 extern time_t squid_curtime
;
24 time_t getCurrentTime(void);
25 int tvSubMsec(struct timeval
, struct timeval
);
27 /// timeval substraction operation
28 /// \param[out] res = t2 - t1
29 void tvSub(struct timeval
&res
, struct timeval
const &t1
, struct timeval
const &t2
);
31 /// timeval addition operation
32 /// \param[out] res = t1 + t2
33 void tvAdd(struct timeval
&res
, struct timeval
const &t1
, struct timeval
const &t2
);
35 /// timeval addition assignment operation
36 /// \param[out] t += add
37 void tvAssignAdd(struct timeval
&t
, struct timeval
const &add
);
39 /// Convert timeval to milliseconds
40 inline long int tvToMsec(struct timeval
&t
)
42 return t
.tv_sec
* 1000 + t
.tv_usec
/ 1000;
45 /** event class for doing synthetic time etc */
50 virtual ~TimeEngine();
52 /** tick the clock - update from the OS or other time source, */
59 /** Display time as a formatted human-readable string.
61 * "YYYY/MM/DD hh:mm:ss"
63 * Output is only valid until next call to this function.
65 const char *FormatStrf(time_t t
);
67 /** Display time as a formatted human-readable string.
68 * Time string syntax used is that of Apache httpd.
69 * "DD/MMM/YYYY:hh:mm:ss zzzz"
71 * Output is only valid until next call to this function.
73 const char *FormatHttpd(time_t t
);
77 #endif /* SQUID_TIME_H */