advanced-python-homework-2023/time_execution/pypy3.9-v7.3.13-linux64/include/pypy3.9/cpyext_datetime.h

67 lines
1.8 KiB
C
Raw Normal View History

2023-10-12 17:14:36 +03:00
/* Define structure for C API. */
typedef struct {
/* type objects */
PyTypeObject *DateType;
PyTypeObject *DateTimeType;
PyTypeObject *TimeType;
PyTypeObject *DeltaType;
PyTypeObject *TZInfoType;
/* singletons */
PyObject *TimeZone_UTC;
/* constructors */
PyObject *(*Date_FromDate)(int, int, int, PyTypeObject*);
PyObject *(*DateTime_FromDateAndTime)(int, int, int, int, int, int, int,
PyObject*, PyTypeObject*);
PyObject *(*Time_FromTime)(int, int, int, int, PyObject*, PyTypeObject*);
PyObject *(*Delta_FromDelta)(int, int, int, int, PyTypeObject*);
PyObject *(*TimeZone_FromTimeZone)(PyObject*, PyObject*);
/* constructors for the DB API */
PyObject *(*DateTime_FromTimestamp)(PyObject*, PyObject*, PyObject*);
PyObject *(*Date_FromTimestamp)(PyObject*, PyObject*);
/* PEP 495 constructors */
PyObject *(*DateTime_FromDateAndTimeAndFold)(int, int, int, int, int, int, int,
PyObject*, int, PyTypeObject*);
PyObject *(*Time_FromTimeAndFold)(int, int, int, int, PyObject*, int, PyTypeObject*);
} PyDateTime_CAPI;
typedef struct
{
PyObject_HEAD
int days; /* -MAX_DELTA_DAYS <= days <= MAX_DELTA_DAYS */
int seconds; /* 0 <= seconds < 24*3600 is invariant */
int microseconds; /* 0 <= microseconds < 1000000 is invariant */
} PyDateTime_Delta;
/* The datetime and time types have an optional tzinfo member,
* PyNone if hastzinfo is false.
*/
typedef struct
{
PyObject_HEAD
unsigned char hastzinfo;
PyObject *tzinfo;
} PyDateTime_Time;
typedef struct
{
PyObject_HEAD
unsigned char hastzinfo;
PyObject *tzinfo;
} PyDateTime_DateTime;
typedef struct {
PyObject_HEAD
} PyDateTime_Date;
typedef struct {
PyObject_HEAD
} PyDateTime_TZInfo;