summaryrefslogblamecommitdiffstats
path: root/src/include/time.h
blob: ab93a3dbbf35efbe46f92907c5ba9c4ff5367fad (plain) (tree)
1
2
3
4
5
6
7
8
9


               



                
 
                                       
 
                     
                      

                       
           

















                                           

  





                                                
                                                                           

                   
                                           




                         


                                       
#ifndef _TIME_H
#define _TIME_H

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

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );

#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 */