 
#ifndef date_DEFINED
#define date_DEFINED 1
 
#include <class.h>
/* 
 * This file was generated by the Andrew class system preprocessor.
 * Don't make changes to this file as it is created from date.ch and will be
 * overwritten.  Make changes to date.ch instead.
 */ 
 
/* 
 * The following information was copied, as-is, from date.ch.
 */ 
 






/* 
 * End of information copied from date.ch.
 */ 
 
/* 
 * Include the superclass information
 */ 
/* date has no super class */ 
 
 
/* 
 * Data structure for date 
 */ 
/* date is a package.  Packages don't have any data */ 

 
/* 
 * End of data structure for date.
 */ 
 


#ifndef date_PROGRAMMERVERSION
#define date_PROGRAMMERVERSION 1
#endif /* date_PROGRAMMERVERSION */

#ifdef date_VERSION
#undef date_VERSION
#endif /* date_VERSION */
#define date_VERSION ((((date_PROGRAMMERVERSION << 16) ^ (9 << 8)) & 0x7ffff) + (386 << 20))

#define date_StaticLoadOnlyThisClass()  \
{ extern struct classinfo *date__GetClassInfo(); \
  (void) class_EnterInfo(NULL, date_classheader.name, date__GetClassInfo, NULL, date_classheader.namekey); } 
 
#define date_StaticLoad()  \
    { \
    date_StaticLoadOnlyThisClass();  \
    } 
 
#define date_StaticEntry  {date_StaticLoad()} 
 
static struct classheader date_classheader = {
    date_VERSION,
    "date",
    "date",
    (struct basicobject_methods *) &class_RoutineStruct,
};


#endif /* date_DEFINED */

#if !defined(date_ROUTINESDEFINED) && !defined(dontDefineRoutinesFor_date) && !defined(class_StaticEntriesOnly)
#define date_ROUTINESDEFINED


#define date_Parse(dateStr,year,month,day,hour,min,sec,weekday,gtm) \
    ((boolean) date__Parse(NULL, dateStr,year,month,day,hour,min,sec,weekday,gtm))
#define date_ParseIntoTimeStruct(str,timeBuf) \
    ((boolean) date__ParseIntoTimeStruct(NULL, str,timeBuf))
#define date_ParseIntoTime(str,error) \
    ((time_t) date__ParseIntoTime(NULL, str,error))
#define date_MonthStr(month) \
    ((char *) date__MonthStr(NULL, month))
#define date_ShortMonthStr(month) \
    ((char *) date__ShortMonthStr(NULL, month))
#define date_WeekdayStr(year) \
    ((char *) date__WeekdayStr(NULL, year))
#define date_ShortWeekdayStr(month) \
    ((char *) date__ShortWeekdayStr(NULL, month))
#define date_ShortDate(yesr,month,day,buffer) \
    ((char *) date__ShortDate(NULL, yesr,month,day,buffer))
#define date_Date(yesr,month,day,buffer) \
    ((char *) date__Date(NULL, yesr,month,day,buffer))


#endif /* !defined(date_ROUTINESDEFINED) && !defined(dontDefineRoutinesFor_date ) && !defined(class_StaticEntriesOnly)*/


#ifndef AUXMODULE

struct date_classprocedures {
    struct classinfo *info;
    long (*routines[9])();
};

boolean date__Parse();
boolean date__ParseIntoTimeStruct();
time_t date__ParseIntoTime();
char * date__MonthStr();
char * date__ShortMonthStr();
char * date__WeekdayStr();
char * date__ShortWeekdayStr();
char * date__ShortDate();
char * date__Date();

static struct date_classprocedures date_classproceduretable = {
    NULL,
    (long (*)()) date__Parse,
    (long (*)()) date__ParseIntoTimeStruct,
    (long (*)()) date__ParseIntoTime,
    (long (*)()) date__MonthStr,
    (long (*)()) date__ShortMonthStr,
    (long (*)()) date__WeekdayStr,
    (long (*)()) date__ShortWeekdayStr,
    (long (*)()) date__ShortDate,
    (long (*)()) date__Date
};


static struct classinfo date_classinfo = {
    NULL,
    (struct basicobject_methods *) &date_classproceduretable,
    "date",
    "date",
    date_VERSION,
    NULL,
    NULL,
    NULL,
    NULL,
    &date_classheader,
    NULL,
    0
};

struct classinfo *date__GetClassInfo(classID, versionnumber)
struct classheader *classID;
unsigned long versionnumber;
{
    if (versionnumber != class_VERSIONNOTKNOWN && versionnumber != date_VERSION)  {
	(void) fprintf(stderr, "Incompatible version of date requested!\n");
    }
    date_classproceduretable.info = &date_classinfo;
    return &date_classinfo;
}

/* 
 * THIS IS NEEDED BECAUSE OF THE WAY makedo WORKS.
 * HOPEFULLY, IT CAN BE REMOVED SOON.
 */ 
 
/* this patch is not needed as the class name is the same as the file name */
 
/* 
 * END OF THIS PATCH. 
 */ 
 
#endif /* AUXMODULE */
