summaryrefslogtreecommitdiffstats
path: root/Include
diff options
context:
space:
mode:
authorAlexander Belopolsky <alexander.belopolsky@gmail.com>2010-08-05 17:34:27 (GMT)
committerAlexander Belopolsky <alexander.belopolsky@gmail.com>2010-08-05 17:34:27 (GMT)
commit6fc4ade2bb44a176555703ebc2dbfb54b57e1148 (patch)
treec52aa91d4f9e35bb2850ea2aea673e56eabc4ee6 /Include
parent1c5471f319a4e5c7bbb56c7ae349b5fe455dc857 (diff)
downloadcpython-6fc4ade2bb44a176555703ebc2dbfb54b57e1148.zip
cpython-6fc4ade2bb44a176555703ebc2dbfb54b57e1148.tar.gz
cpython-6fc4ade2bb44a176555703ebc2dbfb54b57e1148.tar.bz2
Issue #9079: Added _PyTime_gettimeofday(_PyTime_timeval *tp) to C API
exposed in Python.h. This function is similar to POSIX gettimeofday(struct timeval *tp), but available on platforms without gettimeofday().
Diffstat (limited to 'Include')
-rw-r--r--Include/Python.h1
-rw-r--r--Include/pytime.h70
2 files changed, 71 insertions, 0 deletions
diff --git a/Include/Python.h b/Include/Python.h
index 972beec..6fbc49c 100644
--- a/Include/Python.h
+++ b/Include/Python.h
@@ -61,6 +61,7 @@
#error "PYMALLOC_DEBUG requires WITH_PYMALLOC"
#endif
#include "pymath.h"
+#include "pytime.h"
#include "pymem.h"
#include "object.h"
diff --git a/Include/pytime.h b/Include/pytime.h
new file mode 100644
index 0000000..53dd37a
--- /dev/null
+++ b/Include/pytime.h
@@ -0,0 +1,70 @@
+#ifndef Py_PYTIME_H
+#define Py_PYTIME_H
+
+#include "pyconfig.h" /* include for defines */
+
+/**************************************************************************
+Symbols and macros to supply platform-independent interfaces to time related
+functions and constants
+**************************************************************************/
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef HAVE_GETTIMEOFDAY
+typedef struct timeval _PyTime_timeval;
+#else
+typedef struct {
+ time_t tv_sec; /* seconds since Jan. 1, 1970 */
+ long tv_usec; /* and microseconds */
+} _PyTime_timeval;
+#endif
+
+/* Similar to POSIX gettimeofday but cannot fail. If system gettimeofday
+ * fails or is not available, fall back to lower resolution clocks.
+ */
+PyAPI_FUNC(void) _PyTime_gettimeofday(_PyTime_timeval *tp);
+
+/* Dummy to force linking. */
+PyAPI_FUNC(void) _PyTime_Init(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* Py_PYTIME_H */
+#ifndef Py_PYTIME_H
+#define Py_PYTIME_H
+
+#include "pyconfig.h" /* include for defines */
+
+/**************************************************************************
+Symbols and macros to supply platform-independent interfaces to time related
+functions and constants
+**************************************************************************/
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef HAVE_GETTIMEOFDAY
+typedef struct timeval _PyTime_timeval;
+#else
+typedef struct {
+ time_t tv_sec; /* seconds since Jan. 1, 1970 */
+ long tv_usec; /* and microseconds */
+} _PyTime_timeval;
+#endif
+
+/* Similar to POSIX gettimeofday but cannot fail. If system gettimeofday
+ * fails or is not available, fall back to lower resolution clocks.
+ */
+PyAPI_FUNC(void) _PyTime_gettimeofday(_PyTime_timeval *tp);
+
+/* Dummy to force linking. */
+PyAPI_FUNC(void) _PyTime_Init(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* Py_PYTIME_H */