home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / bootpd-2.zip / TZONE.C < prev    next >
C/C++ Source or Header  |  1994-03-07  |  1KB  |  45 lines

  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). */
  10. extern long timezone;
  11. #else /* SVR4 */
  12. /* BSD or SunOS */
  13. # include <sys/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. */
  22. int32 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.  */
  28. void
  29. tzone_init()
  30. {
  31. #ifdef    SVR4
  32.     /* XXX - Is this really SunOS specific? -gwr */
  33.     secondswest = timezone;
  34. #else /* SVR4 */
  35.     struct timezone tzp;        /* Time zone offset for clients */
  36.     struct timeval tp;            /* Time (extra baggage) */
  37.     if (gettimeofday(&tp, &tzp) < 0) {
  38.         secondswest = 0;        /* Assume GMT for lack of anything better */
  39.         report(LOG_ERR, "gettimeofday: %s", get_errmsg());
  40.     } else {
  41.         secondswest = 60L * tzp.tz_minuteswest;    /* Convert to seconds */
  42.     }
  43. #endif /* SVR4 */
  44. }
  45.