diff options
author | Victor Stinner <victor.stinner@haypocalc.com> | 2012-02-08 13:31:50 (GMT) |
---|---|---|
committer | Victor Stinner <victor.stinner@haypocalc.com> | 2012-02-08 13:31:50 (GMT) |
commit | ccd5715a149388eec2f40e5efacac83d3fe357ca (patch) | |
tree | 69b6582c3ed63f6527e56ebdc996c99dccbba910 /Include/pytime.h | |
parent | 6f91ce74a04e958b2e5b1d1904110739eea66841 (diff) | |
download | cpython-ccd5715a149388eec2f40e5efacac83d3fe357ca.zip cpython-ccd5715a149388eec2f40e5efacac83d3fe357ca.tar.gz cpython-ccd5715a149388eec2f40e5efacac83d3fe357ca.tar.bz2 |
PEP 410
Diffstat (limited to 'Include/pytime.h')
-rw-r--r-- | Include/pytime.h | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/Include/pytime.h b/Include/pytime.h index d707bdb..6d438f3 100644 --- a/Include/pytime.h +++ b/Include/pytime.h @@ -2,7 +2,8 @@ #ifndef Py_PYTIME_H #define Py_PYTIME_H -#include "pyconfig.h" /* include for defines */ +#include "pyport.h" +#include "object.h" /************************************************************************** Symbols and macros to supply platform-independent interfaces to time related @@ -37,6 +38,31 @@ do { \ ((tv_end.tv_sec - tv_start.tv_sec) + \ (tv_end.tv_usec - tv_start.tv_usec) * 0.000001) +#if defined(HAVE_LONG_LONG) +typedef unsigned PY_LONG_LONG _PyTime_fraction_t; +#else +typedef size_t _PyTime_fraction_t; +#endif + +typedef struct +{ + /* timestamp = seconds + numerator / denominator */ + time_t seconds; + _PyTime_fraction_t numerator; + /* denominator cannot be zero */ + _PyTime_fraction_t denominator; + /* the timestamp resolution is 1/divisor */ +} _PyTime_t; + +/* Similar to POSIX gettimeofday. If system gettimeofday + fails or is not available, fall back to lower resolution clocks. */ +PyAPI_FUNC(void) _PyTime_get(_PyTime_t *tp); + +/* Convert a timestamp structure to the specified timestamp type. + + Raise a ValueError if the timestamp type is unknown. */ +PyAPI_FUNC(PyObject*) _PyTime_Convert(_PyTime_t *ts, PyObject *timestamp); + /* Dummy to force linking. */ PyAPI_FUNC(void) _PyTime_Init(void); |