[Python-checkins] CVS: python/nondist/sandbox/datetime datetime.h,NONE,1.1
Fred L. Drake
fdrake@users.sourceforge.net
Mon, 04 Mar 2002 12:41:26 -0800
Update of /cvsroot/python/python/nondist/sandbox/datetime
In directory usw-pr-cvs1:/tmp/cvs-serv5607
Added Files:
datetime.h
Log Message:
Preliminary header for the C implementation of the date/time type.
--- NEW FILE: datetime.h ---
/* datetime.h
*/
#ifndef DATETIME_H
#define DATETIME_H
#define _PyDateTime_DATA_SIZE 12
typedef struct
{
PyObject_HEAD;
unsigned char data[_PyDateTime_DATA_SIZE];
} PyDateTime_Object;
extern DL_IMPORT(PyTypeObject) PyDateTime_Type;
#define PyDateTime_GET_YEAR(o) (((PyDateTime_Object*)o)->data[0] << 8 \
| ((PyDateTime_Object*)o)->data[1])
#define PyDateTime_GET_MONTH(o) (((PyDateTime_Object*)o)->data[2])
#define PyDateTime_GET_DAY(o) (((PyDateTime_Object*)o)->data[3])
#define PyDateTime_GET_HOUR(o) (((PyDateTime_Object*)o)->data[4])
#define PyDateTime_GET_MINUTE(o) (((PyDateTime_Object*)o)->data[5])
#define PyDateTime_GET_SECOND(o) (((PyDateTime_Object*)o)->data[6])
#define PyDateTime_GET_MICROSECOND(o) (((PyDateTime_Object*)o)->data[7] << 16 \
| ((PyDateTime_Object*)o)->data[8] << 8\
| ((PyDateTime_Object*)o)->data[9])
#define PyDateTime_GET_TZOFFSET(o) ((signed int) \
(((PyDateTime_Object*)o)->data[10] << 8\
| ((PyDateTime_Object*)o)->data[11]))
#endif