__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/* datetime.h
*/
#ifndef DATETIME_H
#define DATETIME_H
#ifdef __cplusplus
extern "C" {
#endif
/* Fields are packed into successive bytes, each viewed as unsigned and
* big-endian, unless otherwise noted:
*
* byte offset
* 0 year 2 bytes, 1-9999
* 2 month 1 byte, 1-12
* 3 day 1 byte, 1-31
* 4 hour 1 byte, 0-23
* 5 minute 1 byte, 0-59
* 6 second 1 byte, 0-59
* 7 usecond 3 bytes, 0-999999
* 10
*/
/* # of bytes for year, month, and day. */
#define _PyDateTime_DATE_DATASIZE 4
/* # of bytes for hour, minute, second, and usecond. */
#define _PyDateTime_TIME_DATASIZE 6
/* # of bytes for year, month, day, hour, minute, second, and usecond. */
#define _PyDateTime_DATETIME_DATASIZE 10
typedef struct
{
PyObject_HEAD
long hashcode; /* -1 when unknown */
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;
typedef struct
{
PyObject_HEAD /* a pure abstract base clase */
} PyDateTime_TZInfo;
/* The datetime and time types have hashcodes, and an optional tzinfo member,
* present if and only if hastzinfo is true.
*/
#define _PyTZINFO_HEAD \
PyObject_HEAD \
long hashcode; \
char hastzinfo; /* boolean flag */
/* No _PyDateTime_BaseTZInfo is allocated; it's just to have something
* convenient to cast to, when getting at the hastzinfo member of objects
* starting with _PyTZINFO_HEAD.
*/
typedef struct
{
_PyTZINFO_HEAD
} _PyDateTime_BaseTZInfo;
/* All time objects are of PyDateTime_TimeType, but that can be allocated
* in two ways, with or without a tzinfo member. Without is the same as
* tzinfo == None, but consumes less memory. _PyDateTime_BaseTime is an
* internal struct used to allocate the right amount of space for the
* "without" case.
*/
#define _PyDateTime_TIMEHEAD \
_PyTZINFO_HEAD \
unsigned char data[_PyDateTime_TIME_DATASIZE];
typedef struct
{
_PyDateTime_TIMEHEAD
} _PyDateTime_BaseTime; /* hastzinfo false */
typedef struct
{
_PyDateTime_TIMEHEAD
PyObject *tzinfo;
} PyDateTime_Time; /* hastzinfo true */
/* All datetime objects are of PyDateTime_DateTimeType, but that can be
* allocated in two ways too, just like for time objects above. In addition,
* the plain date type is a base class for datetime, so it must also have
* a hastzinfo member (although it's unused there).
*/
typedef struct
{
_PyTZINFO_HEAD
unsigned char data[_PyDateTime_DATE_DATASIZE];
} PyDateTime_Date;
#define _PyDateTime_DATETIMEHEAD \
_PyTZINFO_HEAD \
unsigned char data[_PyDateTime_DATETIME_DATASIZE];
typedef struct
{
_PyDateTime_DATETIMEHEAD
} _PyDateTime_BaseDateTime; /* hastzinfo false */
typedef struct
{
_PyDateTime_DATETIMEHEAD
PyObject *tzinfo;
} PyDateTime_DateTime; /* hastzinfo true */
/* Apply for date and datetime instances. */
#define PyDateTime_GET_YEAR(o) ((((PyDateTime_Date*)o)->data[0] << 8) | \
((PyDateTime_Date*)o)->data[1])
#define PyDateTime_GET_MONTH(o) (((PyDateTime_Date*)o)->data[2])
#define PyDateTime_GET_DAY(o) (((PyDateTime_Date*)o)->data[3])
#define PyDateTime_DATE_GET_HOUR(o) (((PyDateTime_DateTime*)o)->data[4])
#define PyDateTime_DATE_GET_MINUTE(o) (((PyDateTime_DateTime*)o)->data[5])
#define PyDateTime_DATE_GET_SECOND(o) (((PyDateTime_DateTime*)o)->data[6])
#define PyDateTime_DATE_GET_MICROSECOND(o) \
((((PyDateTime_DateTime*)o)->data[7] << 16) | \
(((PyDateTime_DateTime*)o)->data[8] << 8) | \
((PyDateTime_DateTime*)o)->data[9])
/* Apply for time instances. */
#define PyDateTime_TIME_GET_HOUR(o) (((PyDateTime_Time*)o)->data[0])
#define PyDateTime_TIME_GET_MINUTE(o) (((PyDateTime_Time*)o)->data[1])
#define PyDateTime_TIME_GET_SECOND(o) (((PyDateTime_Time*)o)->data[2])
#define PyDateTime_TIME_GET_MICROSECOND(o) \
((((PyDateTime_Time*)o)->data[3] << 16) | \
(((PyDateTime_Time*)o)->data[4] << 8) | \
((PyDateTime_Time*)o)->data[5])
/* Define structure for C API. */
typedef struct {
/* type objects */
PyTypeObject *DateType;
PyTypeObject *DateTimeType;
PyTypeObject *TimeType;
PyTypeObject *DeltaType;
PyTypeObject *TZInfoType;
/* 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*);
/* constructors for the DB API */
PyObject *(*DateTime_FromTimestamp)(PyObject*, PyObject*, PyObject*);
PyObject *(*Date_FromTimestamp)(PyObject*, PyObject*);
} PyDateTime_CAPI;
#define PyDateTime_CAPSULE_NAME "datetime.datetime_CAPI"
/* "magic" constant used to partially protect against developer mistakes. */
#define DATETIME_API_MAGIC 0x414548d5
#ifdef Py_BUILD_CORE
/* Macros for type checking when building the Python core. */
#define PyDate_Check(op) PyObject_TypeCheck(op, &PyDateTime_DateType)
#define PyDate_CheckExact(op) (Py_TYPE(op) == &PyDateTime_DateType)
#define PyDateTime_Check(op) PyObject_TypeCheck(op, &PyDateTime_DateTimeType)
#define PyDateTime_CheckExact(op) (Py_TYPE(op) == &PyDateTime_DateTimeType)
#define PyTime_Check(op) PyObject_TypeCheck(op, &PyDateTime_TimeType)
#define PyTime_CheckExact(op) (Py_TYPE(op) == &PyDateTime_TimeType)
#define PyDelta_Check(op) PyObject_TypeCheck(op, &PyDateTime_DeltaType)
#define PyDelta_CheckExact(op) (Py_TYPE(op) == &PyDateTime_DeltaType)
#define PyTZInfo_Check(op) PyObject_TypeCheck(op, &PyDateTime_TZInfoType)
#define PyTZInfo_CheckExact(op) (Py_TYPE(op) == &PyDateTime_TZInfoType)
#else
/* Define global variable for the C API and a macro for setting it. */
static PyDateTime_CAPI *PyDateTimeAPI = NULL;
#define PyDateTime_IMPORT \
PyDateTimeAPI = (PyDateTime_CAPI *)PyCapsule_Import(PyDateTime_CAPSULE_NAME, 0)
/* Macros for type checking when not building the Python core. */
#define PyDate_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DateType)
#define PyDate_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->DateType)
#define PyDateTime_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DateTimeType)
#define PyDateTime_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->DateTimeType)
#define PyTime_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->TimeType)
#define PyTime_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->TimeType)
#define PyDelta_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->DeltaType)
#define PyDelta_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->DeltaType)
#define PyTZInfo_Check(op) PyObject_TypeCheck(op, PyDateTimeAPI->TZInfoType)
#define PyTZInfo_CheckExact(op) (Py_TYPE(op) == PyDateTimeAPI->TZInfoType)
/* Macros for accessing constructors in a simplified fashion. */
#define PyDate_FromDate(year, month, day) \
PyDateTimeAPI->Date_FromDate(year, month, day, PyDateTimeAPI->DateType)
#define PyDateTime_FromDateAndTime(year, month, day, hour, min, sec, usec) \
PyDateTimeAPI->DateTime_FromDateAndTime(year, month, day, hour, \
min, sec, usec, Py_None, PyDateTimeAPI->DateTimeType)
#define PyTime_FromTime(hour, minute, second, usecond) \
PyDateTimeAPI->Time_FromTime(hour, minute, second, usecond, \
Py_None, PyDateTimeAPI->TimeType)
#define PyDelta_FromDSU(days, seconds, useconds) \
PyDateTimeAPI->Delta_FromDelta(days, seconds, useconds, 1, \
PyDateTimeAPI->DeltaType)
/* Macros supporting the DB API. */
#define PyDateTime_FromTimestamp(args) \
PyDateTimeAPI->DateTime_FromTimestamp( \
(PyObject*) (PyDateTimeAPI->DateTimeType), args, NULL)
#define PyDate_FromTimestamp(args) \
PyDateTimeAPI->Date_FromTimestamp( \
(PyObject*) (PyDateTimeAPI->DateType), args)
#endif /* Py_BUILD_CORE */
#ifdef __cplusplus
}
#endif
#endif
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Python-ast.h | File | 20.62 KB | 0644 |
|
| Python.h | File | 4.23 KB | 0644 |
|
| abstract.h | File | 43.96 KB | 0644 |
|
| asdl.h | File | 1.07 KB | 0644 |
|
| ast.h | File | 230 B | 0644 |
|
| bitset.h | File | 792 B | 0644 |
|
| boolobject.h | File | 912 B | 0644 |
|
| bufferobject.h | File | 922 B | 0644 |
|
| bytearrayobject.h | File | 1.9 KB | 0644 |
|
| bytes_methods.h | File | 2.74 KB | 0644 |
|
| bytesobject.h | File | 1.13 KB | 0644 |
|
| cStringIO.h | File | 1.96 KB | 0644 |
|
| cellobject.h | File | 651 B | 0644 |
|
| ceval.h | File | 4.87 KB | 0644 |
|
| classobject.h | File | 2.93 KB | 0644 |
|
| cobject.h | File | 2.86 KB | 0644 |
|
| code.h | File | 3.8 KB | 0644 |
|
| codecs.h | File | 4.9 KB | 0644 |
|
| compile.h | File | 1.04 KB | 0644 |
|
| complexobject.h | File | 1.81 KB | 0644 |
|
| datetime.h | File | 8.12 KB | 0644 |
|
| descrobject.h | File | 2.42 KB | 0644 |
|
| dictobject.h | File | 6.52 KB | 0644 |
|
| dtoa.h | File | 338 B | 0644 |
|
| enumobject.h | File | 253 B | 0644 |
|
| errcode.h | File | 1.37 KB | 0644 |
|
| eval.h | File | 557 B | 0644 |
|
| fileobject.h | File | 3.58 KB | 0644 |
|
| floatobject.h | File | 5.49 KB | 0644 |
|
| frameobject.h | File | 3.16 KB | 0644 |
|
| funcobject.h | File | 2.92 KB | 0644 |
|
| genobject.h | File | 891 B | 0644 |
|
| graminit.h | File | 1.87 KB | 0644 |
|
| grammar.h | File | 1.97 KB | 0644 |
|
| import.h | File | 2.17 KB | 0644 |
|
| intobject.h | File | 2.77 KB | 0644 |
|
| intrcheck.h | File | 274 B | 0644 |
|
| iterobject.h | File | 522 B | 0644 |
|
| listobject.h | File | 2.51 KB | 0644 |
|
| longintrepr.h | File | 3.82 KB | 0644 |
|
| longobject.h | File | 5.67 KB | 0644 |
|
| marshal.h | File | 713 B | 0644 |
|
| memoryobject.h | File | 2.76 KB | 0644 |
|
| metagrammar.h | File | 253 B | 0644 |
|
| methodobject.h | File | 3.28 KB | 0644 |
|
| modsupport.h | File | 4.91 KB | 0644 |
|
| moduleobject.h | File | 609 B | 0644 |
|
| node.h | File | 956 B | 0644 |
|
| object.h | File | 38.09 KB | 0644 |
|
| objimpl.h | File | 13.64 KB | 0644 |
|
| opcode.h | File | 4.7 KB | 0644 |
|
| osdefs.h | File | 1.03 KB | 0644 |
|
| parsetok.h | File | 1.74 KB | 0644 |
|
| patchlevel.h | File | 1.41 KB | 0644 |
|
| pgen.h | File | 253 B | 0644 |
|
| pgenheaders.h | File | 1.12 KB | 0644 |
|
| py_curses.h | File | 4.06 KB | 0644 |
|
| pyarena.h | File | 2.63 KB | 0644 |
|
| pycapsule.h | File | 1.64 KB | 0644 |
|
| pyconfig-64.h | File | 35.95 KB | 0644 |
|
| pyconfig.h | File | 162 B | 0644 |
|
| pyctype.h | File | 1.24 KB | 0644 |
|
| pydebug.h | File | 1.29 KB | 0644 |
|
| pyerrors.h | File | 11.38 KB | 0644 |
|
| pyexpat.h | File | 2.07 KB | 0644 |
|
| pyfpe.h | File | 8.29 KB | 0644 |
|
| pygetopt.h | File | 348 B | 0644 |
|
| pymacconfig.h | File | 2.92 KB | 0644 |
|
| pymactoolbox.h | File | 7.76 KB | 0644 |
|
| pymath.h | File | 6.37 KB | 0644 |
|
| pymem.h | File | 4.59 KB | 0644 |
|
| pyport.h | File | 31.42 KB | 0644 |
|
| pystate.h | File | 6.25 KB | 0644 |
|
| pystrcmp.h | File | 463 B | 0644 |
|
| pystrtod.h | File | 1.54 KB | 0644 |
|
| pythonrun.h | File | 7.11 KB | 0644 |
|
| pythread.h | File | 1.22 KB | 0644 |
|
| rangeobject.h | File | 646 B | 0644 |
|
| setobject.h | File | 3.06 KB | 0644 |
|
| sliceobject.h | File | 1.3 KB | 0644 |
|
| stringobject.h | File | 7.79 KB | 0644 |
|
| structmember.h | File | 2.83 KB | 0644 |
|
| structseq.h | File | 862 B | 0644 |
|
| symtable.h | File | 3.64 KB | 0644 |
|
| sysmodule.h | File | 815 B | 0644 |
|
| timefuncs.h | File | 541 B | 0644 |
|
| token.h | File | 1.76 KB | 0644 |
|
| traceback.h | File | 697 B | 0644 |
|
| tupleobject.h | File | 2.18 KB | 0644 |
|
| ucnhash.h | File | 924 B | 0644 |
|
| unicodeobject.h | File | 51 KB | 0644 |
|
| warnings.h | File | 635 B | 0644 |
|
| weakrefobject.h | File | 2.89 KB | 0644 |
|