Guardian Programmer's Guide

Table Of Contents
Managing Time
Guardian Programmer’s Guide 421922-014
18 - 33
Interacting With the DST Transition Table
if (error != ZSYS_VAL_DST_OK) errorExit();
/* Second DST period; October 20, 1991 through April 12, 1992,
Offset = 0 */
/* Since Offset = 0, there is no need to explicitly add this
entry.*/
/* Third DST period; April 12, 1992 through October 18, 1992,
Offset = 1 hour */
dateAndTime[0] = 1992; /* year */
dateAndTime[1] = 4; /* month */
dateAndTime[2] = 12; /* day */
dateAndTime[3] = 2; /* hour */
dateAndTime[4] = 0; /* minute */
dateAndTime[5] = 0; /* second */
dateAndTime[6] = 0; /* millisecond */
dateAndTime[7] = 0; /* microsecond */
timeStampLow = COMPUTETIMESTAMP(dateAndTime, &errorMask);
if (errorMask != 0) errorExit();
dateAndTime[0] = 1992; /* year */
dateAndTime[1] = 10; /* month */
dateAndTime[2] = 18; /* day */
dateAndTime[3] = 2; /* hour */
dateAndTime[4] = 0; /* minute */
dateAndTime[5] = 0; /* second */
dateAndTime[6] = 0; /* millisecond */
dateAndTime[7] = 0; /* microsecond */
timeStampHigh = COMPUTETIMESTAMP(dateAndTime, &errorMask);
if (errorMask != 0) errorExit();
DSTEntry.z_lowgmt = timeStampLow;
DSTEntry.z_highgmt = timeStampHigh;
DSTEntry.z_offset = 3600; /* seconds in 1 hour */
DSTEntry.z_version = DST_VERSION_SEP1997;
error = DST_TRANSITION_ADD_(&DSTEntry);
if (error != ZSYS_VAL_DST_OK) errorExit();
.
.
.
.
Using the DST_TRANSITION_DELETE_ Procedure
You supply the DST_TRANSITION_DELETE_ procedure with a pointer to the
zsys_ddl_dst_entry_def structure with its fields filled in. The fields describe an existing
entry in the DST table.