home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / INCLUDE / OAKTIME.H < prev    next >
C/C++ Source or Header  |  1990-10-23  |  2KB  |  79 lines

  1. /*
  2.     oaktime.h
  3.  
  4.     % header for time and date functions
  5.  
  6.     Moved to OWL from C-scape by Ted 8/01/90
  7.  
  8.     OWL 1.2
  9.     Copyright (c) 1990, by Oakland Group, Inc.
  10.     ALL RIGHTS RESERVED.
  11.  
  12.     Revision History:
  13.     -----------------
  14.      8/01/90 ted    included time.h right in here.
  15.      8/23/90 jmd    added test for multiple inclusion
  16.      8/27/90 jmd    removed time.h 
  17.      9/21/90 pmcm    changed extern to OEXTERN for time_result, result
  18.     10/23/90 jmd    fixed START_DAY for new leap year calc
  19. */
  20.  
  21. #ifndef _OAKTIMEH_
  22. #define _OAKTIMEH_
  23.  
  24. #define        START_DAY    0L
  25. #define        TM_OVERFLOW -2147483647L
  26.  
  27. /* global time data */
  28.  
  29. OEXTERN int tm_daytab[2][13];
  30.  
  31. OEXTERN    struct tm time_result;
  32. OEXTERN    struct tm *result;
  33.  
  34. /* function prototypes */
  35.  
  36. /* TMADD.C */
  37. extern struct tm *tm_AddSecs(struct tm *t, long seconds);
  38. extern struct tm *tm_AddDays(struct tm *t, long days);
  39. extern struct tm *tm_Adjust(struct tm *t);
  40. extern int      tm_DaysInMonth(int month, int year);
  41. extern int      tm_DayOfWeek(int mday, int month, int year);
  42. extern boolean  tm_IsValid(struct tm *t);
  43.  
  44. /* TMELAP.C */
  45. extern long     tm_ElapSecs(struct tm *t1, struct tm *t2);
  46. extern long     tm_ElapDays(struct tm *t1, struct tm *t2);
  47. extern int      tm_Cmp(struct tm *t1, struct tm *t2);
  48.  
  49. /* TMNOW.C */
  50. extern struct tm *tm_Now(struct tm *t);
  51. extern struct tm *tm_Copy(struct tm *dest, struct tm *source);
  52. extern struct tm *tm_Zero(struct tm *t);
  53.  
  54. /* TMVALID.C */
  55. extern boolean  tm_IsTimeValid(struct tm *t);
  56. extern boolean  tm_IsDateValid(struct tm *t);
  57. extern int      tm_LeapYear(int year);
  58.  
  59. /* for date_funcs  */
  60.  
  61. #define    COUNTRY         0
  62. /*    adjusts style of date entry          mm/dd/yy    USA = 0
  63.                                         dd/mm/yy    EUR = 1
  64.                                         yy/mm/dd    JAP = 2
  65. */
  66.                 
  67. #define TIMEZONE    -5    /* EST */
  68. /*    corrects for timezone is auto date and time entry    
  69.     negative west of Greenwich, pos east
  70. */
  71.  
  72. #define DAYLIGHT     1
  73. /*    flag for daylight savings time correction
  74.     1 = TRUE  (do correction)
  75.     0 = FALSE (don't correct)
  76. */
  77.  
  78. #endif    /* _OAKTIMEH_ */
  79.