#ifndef _TIME_H
#define _TIME_H

/** @file
 *
 * Date and time
 */

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
FILE_SECBOOT ( PERMITTED );

#include <sys/time.h>
#include <ipxe/time.h>

/** Broken-down time */
struct tm {
	/** Seconds [0,60] */
	int tm_sec;
	/** Minutes [0,59] */
	int tm_min;
	/** Hour [0,23] */
	int tm_hour;
	/** Day of month [1,31] */
	int tm_mday;
	/** Month of year [0,11] */
	int tm_mon;
	/** Years since 1900 */
	int tm_year;
	/** Day of week [0,6] (Sunday=0) */
	int tm_wday;
	/** Day of year [0,365] */
	int tm_yday;
	/** Daylight savings flag */
	int tm_isdst;
};

/**
 * Get current time in seconds since the Epoch
 *
 * @v t			Time to fill in, or NULL
 * @ret time		Current time
 */
static inline __attribute__ (( always_inline )) time_t time ( time_t *t ) {
	time_t now;

	now = ( time_now() + time_offset );
	if ( t )
		*t = now;
	return now;
}

extern time_t mktime ( struct tm *tm );

#endif /* _TIME_H */
