typedef struct { unsigned year; unsigned is_leap; unsigned jday; unsigned month; unsigned mday; unsigned wday; unsigned hour; unsigned minute; unsigned second; unsigned nanosecond; } UTC; typedef struct { int64_t s; int64_t ns; } EPOCH; typedef struct { unsigned days; double ra; } RA; typedef struct { unsigned days; unsigned hour; unsigned minute; unsigned second; unsigned nanosecond; } ST; typedef struct { unsigned year; unsigned is_leap; unsigned jday; unsigned month; unsigned mday; unsigned wday; unsigned hour; unsigned minute; unsigned second; unsigned nanosecond; } MTIME;