#ifndef ARC_STD_TIME_H_ #define ARC_STD_TIME_H_ #ifdef __cplusplus extern "C" { #endif #include #include /** * @brief the ARC_Time data structre based on time.h (mainly added to avoid having to type `struct tm` every time) * * seconds == tm_sec [0,60] * minutes == tm_min [0,59] * hour == tm_hour [0,23] * * day == tm_yday Day of year [0,365] * month == tm_mon Month of year [0,11] * year == tm_year Years since 1900 * * dayOfWeek == tm_wday Day of week [0,6] (Sunday =0) * dayOfMonth == tm_mday Day of month [1,31] * * daylightSavingsFlag == tm_isdst Daylight Savings flag */ typedef struct ARC_Time { uint8_t seconds; uint8_t minutes; uint8_t hour; uint32_t day; uint8_t month; uint32_t year; uint8_t dayOfWeek; uint8_t dayOfMonth; uint8_t daylightSavingsFlag; } ARC_Time; /** * @brief copies the contents of a tm struct pointer into the ARC_Time type * * @param time the struct tm type to copy * * @return the contents of a struct tm as an ARC_Time */ ARC_Time ARC_Time_CopyFromStructTmPtr(struct tm *time); #ifdef __cplusplus } #endif #endif // !ARC_STD_TIME_H_