# HG changeset patch # User Edouard Tisserant # Date 1301591476 -7200 # Node ID 28bd86c56793a8fe88ce5a6fa44cf5786aeaf141 # Parent 18988de676ac5426ddfbeef365c56ba6c704539a Initial TIME support in debugger diff -r 18988de676ac -r 28bd86c56793 lib/iec_std_lib.h --- a/lib/iec_std_lib.h Sun Mar 27 16:19:36 2011 +0200 +++ b/lib/iec_std_lib.h Thu Mar 31 19:11:16 2011 +0200 @@ -148,7 +148,7 @@ } -static inline void __normalize_timespec (struct timespec *ts) { +static inline void __normalize_timespec (IEC_TIMESPEC *ts) { if( ts->tv_nsec < -1000000000 || (( ts->tv_sec > 0 ) && ( ts->tv_nsec < 0 ))){ ts->tv_sec--; ts->tv_nsec += 1000000000; @@ -159,8 +159,8 @@ } } -static inline struct timespec __time_to_timespec(int sign, double mseconds, double seconds, double minutes, double hours, double days) { - struct timespec ts; +static inline IEC_TIMESPEC __time_to_timespec(int sign, double mseconds, double seconds, double minutes, double hours, double days) { + IEC_TIMESPEC ts; /* sign is 1 for positive values, -1 for negative time... */ long double total_sec = ((days*24 + hours)*60 + minutes)*60 + seconds + mseconds/1e3; @@ -172,8 +172,8 @@ } -static inline struct timespec __tod_to_timespec(double seconds, double minutes, double hours) { - struct timespec ts; +static inline IEC_TIMESPEC __tod_to_timespec(double seconds, double minutes, double hours) { + IEC_TIMESPEC ts; long double total_sec = (hours*60 + minutes)*60 + seconds; ts.tv_sec = (long int)total_sec; @@ -182,8 +182,8 @@ return ts; } -static inline struct timespec __date_to_timespec(int day, int month, int year) { - struct timespec ts; +static inline IEC_TIMESPEC __date_to_timespec(int day, int month, int year) { + IEC_TIMESPEC ts; struct tm broken_down_time; time_t epoch_seconds; @@ -205,8 +205,8 @@ return ts; } -static inline struct timespec __dt_to_timespec(double seconds, double minutes, double hours, int day, int month, int year) { - struct timespec ts; +static inline IEC_TIMESPEC __dt_to_timespec(double seconds, double minutes, double hours, int day, int month, int year) { + IEC_TIMESPEC ts; struct tm broken_down_time; time_t epoch_seconds; diff -r 18988de676ac -r 28bd86c56793 lib/iec_types.h --- a/lib/iec_types.h Sun Mar 27 16:19:36 2011 +0200 +++ b/lib/iec_types.h Thu Mar 31 19:11:16 2011 +0200 @@ -3,7 +3,6 @@ #include #include -#include #include /*********************/ @@ -30,22 +29,17 @@ typedef float IEC_REAL; typedef double IEC_LREAL; - -#if !defined __timespec_defined && !defined __time_t_defined -# define __timespec_defined 1 - -struct timespec - { +#pragma pack(push,1) +typedef struct { long int tv_sec; /* Seconds. */ long int tv_nsec; /* Nanoseconds. */ - }; +}IEC_TIMESPEC; +#pragma pack(pop) -#endif - -typedef struct timespec IEC_TIME; -typedef struct timespec IEC_DATE; -typedef struct timespec IEC_DT; -typedef struct timespec IEC_TOD; +typedef IEC_TIMESPEC IEC_TIME; +typedef IEC_TIMESPEC IEC_DATE; +typedef IEC_TIMESPEC IEC_DT; +typedef IEC_TIMESPEC IEC_TOD; #ifndef STR_MAX_LEN #define STR_MAX_LEN 126 @@ -56,9 +50,11 @@ #endif typedef STR_LEN_TYPE __strlen_t; +#pragma pack(push,1) typedef struct { __strlen_t len; uint8_t body[STR_MAX_LEN]; } IEC_STRING; +#pragma pack(pop) #endif /*IEC_TYPES_H*/