YAZ 5.35.1
z-date.h
Go to the documentation of this file.
1
7#ifndef z_date_H
8#define z_date_H
9
10#include <yaz/odr.h>
11#include <yaz/z-core.h>
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16typedef struct Z_DateTime Z_DateTime;
17YAZ_EXPORT int z_DateTime(ODR o, Z_DateTime **p, int opt, const char *name);
18
20YAZ_EXPORT int z_DateMonthAndDay(ODR o, Z_DateMonthAndDay **p, int opt, const char *name);
21
23YAZ_EXPORT int z_DateQuarter(ODR o, Z_DateQuarter **p, int opt, const char *name);
24
26YAZ_EXPORT int z_DateSeason(ODR o, Z_DateSeason **p, int opt, const char *name);
27
28typedef struct Z_Era Z_Era;
29YAZ_EXPORT int z_Era(ODR o, Z_Era **p, int opt, const char *name);
30
31typedef struct Z_DateFlags Z_DateFlags;
32YAZ_EXPORT int z_DateFlags(ODR o, Z_DateFlags **p, int opt, const char *name);
33
34typedef struct Z_Date Z_Date;
35YAZ_EXPORT int z_Date(ODR o, Z_Date **p, int opt, const char *name);
36
37typedef struct Z_Time Z_Time;
38YAZ_EXPORT int z_Time(ODR o, Z_Time **p, int opt, const char *name);
39#ifdef __cplusplus
40}
41#endif
42#ifdef __cplusplus
43extern "C" {
44#endif
45struct Z_DateTime {
46 Z_Date *date; /* OPT */
47 Z_Time *time; /* OPT */
48};
49
52 Odr_int *day; /* OPT */
53};
54
56 int which;
57 union {
62#define Z_DateQuarter_first 1
63#define Z_DateQuarter_second 2
64#define Z_DateQuarter_third 3
65#define Z_DateQuarter_fourth 4
66 } u;
67};
68
70 int which;
71 union {
76#define Z_DateSeason_winter 1
77#define Z_DateSeason_spring 2
78#define Z_DateSeason_summer 3
79#define Z_DateSeason_autumn 4
80 } u;
81};
82
83struct Z_Era {
84 int which;
85 union {
89#define Z_Era_decade 1
90#define Z_Era_century 2
91#define Z_Era_millennium 3
92 } u;
93};
94
96 Odr_null *circa; /* OPT */
97 Z_Era *era; /* OPT */
98};
99
100struct Z_Date {
102 int which;
103 union {
109#define Z_Date_monthAndDay 1
110#define Z_Date_julianDay 2
111#define Z_Date_weekNumber 3
112#define Z_Date_quarter 4
113#define Z_Date_season 5
114 } u; /* OPT */
115 Z_DateFlags *flags; /* OPT */
116};
117
118struct Z_Time {
120 Odr_int *minute; /* OPT */
121 Odr_int *second; /* OPT */
123 int which;
124 union {
128#define Z_Time_local 1
129#define Z_Time_utc 2
130#define Z_Time_utcOffset 3
131 } u;
132};
133
134#ifdef __cplusplus
135}
136#endif
137#endif
int opt
Definition initopt.c:19
char * name
Definition initopt.c:18
Header for ODR (Open Data Representation)
nmem_int_t Odr_int
Definition odr.h:47
void Odr_null
Definition odr.h:105
Z_Era * era
Definition z-date.h:97
Odr_null * circa
Definition z-date.h:96
Odr_int * month
Definition z-date.h:51
Odr_int * day
Definition z-date.h:52
union Z_DateQuarter::@73 u
Odr_null * first
Definition z-date.h:58
Odr_null * second
Definition z-date.h:59
Odr_null * fourth
Definition z-date.h:61
Odr_null * third
Definition z-date.h:60
union Z_DateSeason::@74 u
Odr_null * summer
Definition z-date.h:74
Odr_null * autumn
Definition z-date.h:75
int which
Definition z-date.h:70
Odr_null * spring
Definition z-date.h:73
Odr_null * winter
Definition z-date.h:72
Z_Time * time
Definition z-date.h:47
Z_Date * date
Definition z-date.h:46
Odr_int * julianDay
Definition z-date.h:105
int which
Definition z-date.h:102
Z_DateSeason * season
Definition z-date.h:108
Odr_int * year
Definition z-date.h:101
Odr_int * weekNumber
Definition z-date.h:106
Z_DateFlags * flags
Definition z-date.h:115
Z_DateMonthAndDay * monthAndDay
Definition z-date.h:104
Z_DateQuarter * quarter
Definition z-date.h:107
union Z_Date::@76 u
Definition z-date.h:83
Odr_null * decade
Definition z-date.h:86
Odr_null * millennium
Definition z-date.h:88
union Z_Era::@75 u
int which
Definition z-date.h:84
Odr_null * century
Definition z-date.h:87
Odr_null * utc
Definition z-date.h:126
Odr_null * local
Definition z-date.h:125
union Z_Time::@77 u
Odr_int * hour
Definition z-date.h:119
int which
Definition z-date.h:123
Odr_int * second
Definition z-date.h:121
Odr_int * minute
Definition z-date.h:120
Z_IntUnit * partOfSecond
Definition z-date.h:122
Odr_int * utcOffset
Definition z-date.h:127
Definition odr.h:125
ASN.1 Module Z39-50-APDU-1995.
int z_DateTime(ODR o, Z_DateTime **p, int opt, const char *name)
Definition z-date.c:12
int z_Era(ODR o, Z_Era **p, int opt, const char *name)
Definition z-date.c:80
int z_DateMonthAndDay(ODR o, Z_DateMonthAndDay **p, int opt, const char *name)
Definition z-date.c:24
int z_DateSeason(ODR o, Z_DateSeason **p, int opt, const char *name)
Definition z-date.c:58
int z_DateFlags(ODR o, Z_DateFlags **p, int opt, const char *name)
Definition z-date.c:100
int z_Date(ODR o, Z_Date **p, int opt, const char *name)
Definition z-date.c:112
int z_DateQuarter(ODR o, Z_DateQuarter **p, int opt, const char *name)
Definition z-date.c:36
int z_Time(ODR o, Z_Time **p, int opt, const char *name)
Definition z-date.c:140