/* This is header file for working with DD time */ /* V.4.1 */ /* name: DD_time.h * Author: Andrey Fredorov * Institution: IKI RAN * Date: 21-Feb-1995 * Last update Sept 05, 2011 * Sept 05, 2011: V.3.2 SetIntNew => arg TimeKind => to work with 1970-1973 : BR */ #define TIMELENGTH 17 typedef char dd_time_t[TIMELENGTH]; /* YYYYDDDHHMMSSMLS */ /*---------------- Backup compability with V.3.0 and earlier ----------*/ typedef struct { double times; /* time sec from 1970 */ int year; int day; int hour; int min; int sec; int msec; } dd_tmstr_t ; typedef enum {DD_TM_UNKNOWN, DD_TM_TIME_INTERVAL, DD_TM_DATE} t_DDTimeKind; #ifdef __cplusplus extern "C" { #endif /* ---------------- Functions prototypes ----------------------*/ extern double DD_Time2Double(dd_time_t DD_Time); /* Convert string to double and return. * Return negative value in case of error string format */ extern char *Double2DD_Time(double Time); /* Convert double Time value into string form and return pointer to static string * allocated INSIDE the library. Thus the value is renoveted each function call. */ extern dd_tmstr_t *ReadTime(char *UT); /* Read time from sring and fill static * structure defined IN function. * Returns pointer of strusture */ extern char *WriteTime(dd_tmstr_t *UT); /* Get pointer of time structure * and convert it into string * Function returns pointer of * internal string */ extern void WriteFmtTime(dd_tmstr_t *UT,char *UTstring); extern void SetDouble(dd_tmstr_t *UT); /* Fill double value of dd_tmstr_t */ extern void SetInt(dd_tmstr_t *UT); /* Fill int values of dd_tmstr_t */ extern void SetIntNew(dd_tmstr_t *UT,t_DDTimeKind timeKind); /*------- Functions for DECODERS ------------------------ *These functions works with with Gavrilova's UT representation */ extern dd_tmstr_t *UT2double(unsigned *UT); /* Set standard time * structure and return * its pointer */ extern unsigned *Double2UT(double Time); /*Converts Double to Gavrilova array */ #ifdef __cplusplus } #endif