summaryrefslogtreecommitdiff
path: root/src/lib/evil/evil_time.h
blob: e61692e079da36d6eadce0a24f17c0eadf2d84c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#ifndef __EVIL_TIME_H__
#define __EVIL_TIME_H__


#include <time.h>


/**
 * @file evil_time.h
 * @brief The file that provides functions ported from Unix in time.h.
 * @defgroup Evil_Time_Group Time.h functions
 * @ingroup Evil
 *
 * This header provides functions ported from Unix in time.h.
 *
 * @{
 */

#ifdef _MSC_VER
struct timezone
{
  int tz_minuteswest; /* of Greenwich */
  int tz_dsttime;     /* type of dst correction to apply */
};
#endif

/**
 * @brief Get time and timezone.
 *
 * @param tv A pointer that contains two sockets.
 * @param tz A pointer that contains two sockets.
 * @return 0 on success, -1 otherwise.
 *
 * This function gets the time and timezone. @p tv and @p tz can be
 * @c NULL. It calls GetSystemTimePreciseAsFileTime() on Windows 8or
 * above if _WIN32_WINNT is correctly defined. It returns 0 on
 * success, -1 otherwise.
 *
 * @since 1.25
 */
EAPI int evil_gettimeofday(struct timeval *tv, struct timezone *tz);
#ifndef HAVE_GETTIMEOFDAY
# define HAVE_GETTIMEOFDAY 1
#endif


/**
 * @brief Convert a string representation of time to a time tm structure .
 *
 * @param buf The string to convert.
 * @param fmt The representation of time.
 * @param tm The time tm structure.
 * @return The first character not processed in this function call.
 *
 * This function converts the string @p s to a time tm structure and
 * fill the buffer @p tm. The format of the time is specified by
 * @p format. On success, this function returns the first character
 * not processed in this function call, @c NULL otherwise.
 *
 * Conformity: Non applicable.
 *
 * Supported OS: Windows XP.
 */
EAPI char *strptime(const char *buf, const char *fmt, struct tm *tm);


/**
 * @}
 */


#endif /* __EVIL_TIME_H__ */