home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / database / softc2.zip / SC_CLOCK.H < prev    next >
C/C++ Source or Header  |  1990-07-17  |  9KB  |  255 lines

  1. /*************************************************
  2.  **                                             **
  3.  **   sc_clock.h                                **
  4.  **                                             **
  5.  **     SoftC Clock/Calendar functions header   **
  6.  **                                             **
  7.  **          Copyright (C) 1989, 1990 by        **
  8.  **               SoftC, Ltd.                   **
  9.  **               16820 3rd St NE               **
  10.  **               Ham Lake, MN 55304            **
  11.  **               (612) 434-6968                **
  12.  **                                             **
  13.  **             All rights reserved.            **
  14.  *************************************************/
  15.  
  16.  
  17.  
  18. /**********
  19.  *
  20.  *  Defines
  21.  *
  22.  **********/
  23.  
  24.  
  25.  
  26.  
  27. #define SC_GREGOR 1         /* Gregorian date "mm/dd/yy" */
  28. #define SC_GREGORL 2        /* Gregorian date "mm/dd/yyyy" */
  29. #define SC_JULIAN 3         /* Julian date "yyyy/ddd" */
  30. #define SC_YMD 4            /* dBASE date "yyyymmdd" */
  31. #define SC_DMY 5            /* European/Military date "ddmmyy" */
  32.  
  33. #define SC_CSHMS 1          /* colon separated time "hh:mm:ss" */
  34. #define SC_MIL 2            /* Military time 0000 - 2359 */
  35.  
  36.  
  37.  
  38. /**********
  39.  *
  40.  *  Integer Date Source Function Prototypes
  41.  *
  42.  **********/
  43.  
  44.  
  45.  
  46.  
  47. signed int sccdi2l(   signed long *,      /* number of days since 1/1 0001 */
  48.                       signed int,         /* year */
  49.                       signed int,         /* month */
  50.                       signed int );       /* day */
  51.  
  52. signed int sccdi2s(   signed char *,      /* date string */
  53.                       signed int,         /* date string format (YMD, GREG, JUL) */
  54.                       signed int,         /* year */
  55.                       signed int,         /* month */
  56.                       signed int );       /* day */
  57.  
  58. signed int sccdiget(  signed int *,       /* current DOS year */
  59.                       signed int *,       /*             month */
  60.                       signed int *,       /*             day of month */
  61.                       signed int *);      /*             day of week */
  62.  
  63. signed int sccdileap( signed int );       /* year */
  64.  
  65. signed int sccdiperm( signed char *,      /* number of days in month */
  66.                       signed int,         /* desired year */
  67.                       signed int);        /* desired month */
  68.  
  69.  
  70.  
  71.  
  72. /**********
  73.  *
  74.  *  Long Date Source Function Prototypes
  75.  *
  76.  **********/
  77.  
  78.  
  79.  
  80.  
  81. signed int sccdl2dow( signed char *,      /* day number (0-6) */
  82.                       signed long );      /* long date source */
  83.  
  84. signed int sccdl2i(   signed int *,       /* year */
  85.                       signed int *,       /* month */
  86.                       signed int *,       /* day */
  87.                       signed long );      /* long date source */
  88.  
  89. signed int sccdl2sx(  signed char *,      /* date string */
  90.                       signed int,         /* date string format */
  91.                       signed long);       /* number of days since 1/1/00 */
  92.  
  93.  
  94.  
  95.  
  96. /**********
  97.  *
  98.  *  String Date Source Function Prototypes
  99.  *
  100.  **********/
  101.  
  102.  
  103.  
  104. signed int sccds2day( signed char *,      /* day of week string */
  105.                       signed char *,      /* source date string */
  106.                       signed int );       /* source date string format */
  107.  
  108. signed int sccds2dow( signed char *,      /* day of week number */
  109.                       signed char *,      /* source date string */
  110.                       signed int );       /* source date string format */
  111.  
  112. signed int sccds2i(   signed int *,       /* year */
  113.                       signed int *,       /* month */
  114.                       signed int *,       /* day */
  115.                       signed char *,      /* date string */
  116.                       signed int );       /* string format */
  117.  
  118. signed int sccds2lx(  signed long *,      /* number of days since 1/1 0001 */
  119.                       signed char *,      /* date string */
  120.                       signed int );       /* date string format (YMD,GREG, JUL) */
  121.  
  122. signed int sccds2mon( signed char *,      /* month of year string */
  123.                       signed char *,      /* source date string */
  124.                       signed int );       /* source date string format */
  125.  
  126. signed int sccds2s(   signed char *,      /* output date string */
  127.                       signed int,         /* output string format */
  128.                       signed char *,      /* source date string */
  129.                       signed int );       /* source string format */
  130.  
  131. signed int sccdsday(  signed char *,      /* day of week text string */
  132.                       signed char);       /* numeric day of week */
  133.  
  134. signed int sccdsdiff( signed long *,      /* difference in days */
  135.                       signed char *,      /* date string */
  136.                       signed int,         /* string format (YMD, GREG, JULIAN) */
  137.                       signed char *,      /* date string */
  138.                       signed int);        /* string format (YMD, GREG, JULIAN) */
  139.  
  140. signed int sccdsget(  signed char *,      /* DOS date string */
  141.                       signed int );       /* date string format */
  142.  
  143. signed int sccdsleap( signed char *,      /* date string */
  144.                       signed int );       /* string format (YMD,GREG,JULIAN) */
  145.  
  146. signed int sccdsmonth(signed char *,      /* month text string */
  147.                       signed char);       /* numeric month */
  148.  
  149. signed int sccdsperm( signed char *,      /* number of days in month */
  150.                       signed char *,      /* date string */
  151.                       signed int );       /* string format (YMD, GREG, JUL) */
  152.  
  153. signed int sccdsvalid(signed char *,      /* date string */
  154.                       signed int );       /* string format (YMD,GREG,JULIAN) */
  155.  
  156.  
  157.  
  158.  
  159.  
  160. /**********
  161.  *
  162.  *  Integer Clock Source Function Prototypes
  163.  *
  164.  **********/
  165.  
  166.  
  167.  
  168.  
  169. signed int sccti2s(   signed char *,      /* time string */
  170.                       signed int,         /* string format (H:M:S) */
  171.                       signed int,         /* hours */
  172.                       signed int,         /* minutes */
  173.                       signed int);        /* seconds */
  174.  
  175. signed int scctiget(  signed int *,       /* current DOS hour */
  176.                       signed int *,       /*             minute */
  177.                       signed int *,       /*             second */
  178.                       signed int * );     /*             hundredths of second */
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185. /**********
  186.  *
  187.  *  String Clock Source Function Prototypes
  188.  *
  189.  **********/
  190.  
  191.  
  192.  
  193.  
  194. signed int sccts2i(   signed int *,       /* hours */
  195.                       signed int *,       /* minutes */
  196.                       signed int *,       /* seconds */
  197.                       signed char *,      /* time string */
  198.                       signed int);        /* string format (H:M:S) */
  199.  
  200. signed int scctsdiff( signed long *,      /* number of seconds difference */
  201.                       signed char *,      /* time 1 */
  202.                       signed int,         /* string format */
  203.                       signed char *,      /* time 2 */
  204.                       signed int);        /* string format (H:M:S) */
  205.  
  206. signed int scctsget(  signed char *,      /* current time in string format */
  207.                       signed int);        /* time string format (MIL, H:M:S) */
  208.  
  209. signed int scctsvalid(signed char *,      /* time string */
  210.                       signed int);        /* string format (H:M:S) */
  211.  
  212.  
  213.  
  214.  
  215. /**********
  216.  *
  217.  *  External Variables
  218.  *
  219.  **********/
  220.  
  221.  
  222.  
  223.  
  224. extern signed char sc_dpm[13];    /* days per month array */
  225.  
  226.  
  227.  
  228. /**********
  229.  *
  230.  *  Compatibility Definitions
  231.  *
  232.  **********/
  233.  
  234.  
  235.  
  236.  
  237. #define sccday(a,b) sccdsday(a,b)
  238. #define sccddiff(a,b,c) sccdsdiff(a,b,SC_YMD,c,SC_YMD)
  239. #define sccdl2s(a,b) sccdl2sx(a,SC_YMD,b)
  240. #define sccdn2s(a,b,c,d) sccdi2s(a,SC_YMD,b,c,d)
  241. #define sccdperm(a,b) sccdsperm(a,b,SC_YMD)
  242. #define sccdpermi(a,b,c) sccdiperm(a,b,c)
  243. #define sccds2l(a,b) sccds2lx(a,b,SC_YMD)
  244. #define sccds2n(a,b,c,d) sccds2i(a,b,c,d,SC_YMD)
  245. #define sccdvalid(a) sccdsvalid(a,SC_YMD)
  246. #define sccleap(a) sccdsleap(a,SC_YMD)
  247. #define sccleapi(a) sccdileap(a)
  248. #define sccmonth(a,b) sccdsmonth(a,b)
  249.  
  250. #define scctdiff(a,b,c) scctsdiff(a,b,SC_CSHMS,c,SC_CSHMS)
  251. #define scctn2s(a,b,c,d) sccti2s(a,SC_CSHMS,b,c,d)
  252. #define sccts2n(a,b,c,d) sccts2i(a,b,c,d,SC_CSHMS)
  253. #define scctvalid(a) scctsvalid(a,SC_CSHMS)
  254.  
  255.