--- /dev/null
+/* YC 0.2: Tue Feb 29 16:45:14 CET 2000 */
+/* Module-H UserInfoFormat-dateTime */
+
+#ifndef z_date_H
+#define z_date_H
+
+#include <yaz/odr.h>
+#include <yaz/z-core.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct Z_DateTime Z_DateTime;
+YAZ_EXPORT int z_DateTime (ODR o, Z_DateTime **p, int opt, const char *name);
+
+typedef struct Z_DateMonthAndDay Z_DateMonthAndDay;
+YAZ_EXPORT int z_DateMonthAndDay (ODR o, Z_DateMonthAndDay **p, int opt, const char *name);
+
+typedef struct Z_DateQuarter Z_DateQuarter;
+YAZ_EXPORT int z_DateQuarter (ODR o, Z_DateQuarter **p, int opt, const char *name);
+
+typedef struct Z_DateSeason Z_DateSeason;
+YAZ_EXPORT int z_DateSeason (ODR o, Z_DateSeason **p, int opt, const char *name);
+
+typedef struct Z_Era Z_Era;
+YAZ_EXPORT int z_Era (ODR o, Z_Era **p, int opt, const char *name);
+
+typedef struct Z_DateFlags Z_DateFlags;
+YAZ_EXPORT int z_DateFlags (ODR o, Z_DateFlags **p, int opt, const char *name);
+
+typedef struct Z_Date Z_Date;
+YAZ_EXPORT int z_Date (ODR o, Z_Date **p, int opt, const char *name);
+
+typedef struct Z_Time Z_Time;
+YAZ_EXPORT int z_Time (ODR o, Z_Time **p, int opt, const char *name);
+#ifdef __cplusplus
+}
+#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+struct Z_DateTime {
+ Z_Date *date; /* OPT */
+ Z_Time *time; /* OPT */
+};
+
+struct Z_DateMonthAndDay {
+ int *month;
+ int *day; /* OPT */
+};
+
+struct Z_DateQuarter {
+ int which;
+ union {
+ Odr_null *first;
+ Odr_null *second;
+ Odr_null *third;
+ Odr_null *fourth;
+#define Z_DateQuarter_first 1
+#define Z_DateQuarter_second 2
+#define Z_DateQuarter_third 3
+#define Z_DateQuarter_fourth 4
+ } u;
+};
+
+struct Z_DateSeason {
+ int which;
+ union {
+ Odr_null *winter;
+ Odr_null *spring;
+ Odr_null *summer;
+ Odr_null *autumn;
+#define Z_DateSeason_winter 1
+#define Z_DateSeason_spring 2
+#define Z_DateSeason_summer 3
+#define Z_DateSeason_autumn 4
+ } u;
+};
+
+struct Z_Era {
+ int which;
+ union {
+ Odr_null *decade;
+ Odr_null *century;
+ Odr_null *millennium;
+#define Z_Era_decade 1
+#define Z_Era_century 2
+#define Z_Era_millennium 3
+ } u;
+};
+
+struct Z_DateFlags {
+ Odr_null *circa; /* OPT */
+ Z_Era *era; /* OPT */
+};
+
+struct Z_Date {
+ int *year;
+ int which;
+ union {
+ Z_DateMonthAndDay *monthAndDay;
+ int *julianDay;
+ int *weekNumber;
+ Z_DateQuarter *quarter;
+ Z_DateSeason *season;
+#define Z_Date_monthAndDay 1
+#define Z_Date_julianDay 2
+#define Z_Date_weekNumber 3
+#define Z_Date_quarter 4
+#define Z_Date_season 5
+ } u; /* OPT */
+ Z_DateFlags *flags; /* OPT */
+};
+
+struct Z_Time {
+ int *hour;
+ int *minute; /* OPT */
+ int *second; /* OPT */
+ Z_IntUnit *partOfSecond; /* OPT */
+ int which;
+ union {
+ Odr_null *local;
+ Odr_null *utc;
+ int *utcOffset;
+#define Z_Time_local 1
+#define Z_Time_utc 2
+#define Z_Time_utcOffset 3
+ } u;
+};
+
+#ifdef __cplusplus
+}
+#endif
+#endif