1/* 2 * tzone.c - get the timezone 3 * 4 * This is shared by bootpd and bootpef 5 */ 6 7#ifdef SVR4 8/* XXX - Is this really SunOS specific? -gwr */ 9/* This is in <time.h> but only visible if (__STDC__ == 1). */ 10extern long timezone; 11#else /* SVR4 */ 12/* BSD or SunOS */ 13# include <time.h> 14# include <syslog.h> 15#endif /* SVR4 */ 16 17#include "bptypes.h" 18#include "report.h" 19#include "tzone.h" 20 21/* This is what other modules use. */ 22int32 secondswest; 23 24/* 25 * Get our timezone offset so we can give it to clients if the 26 * configuration file doesn't specify one. 27 */ 28void 29tzone_init() 30{ 31#ifdef SVR4 32 /* XXX - Is this really SunOS specific? -gwr */ 33 secondswest = timezone; 34#else /* SVR4 */ 35 struct tm *tm; 36 time_t now; 37 38 (void)time(&now); 39 if ((tm = localtime(&now)) == NULL) { 40 secondswest = 0; /* Assume GMT for lack of anything better */ 41 report(LOG_ERR, "localtime() failed"); 42 } else { 43 secondswest = -tm->tm_gmtoff; 44 } 45#endif /* SVR4 */ 46} 47