summaryrefslogtreecommitdiff
path: root/reference/C/CONTRIB/SNIP/uclock.h
blob: a7e797cc397687138ff5d30e7fdb8e85b64e7744 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
**  UCLOCK.H
**
**  Original Copyright 1988-1991 by Bob Stout as part of
**  the MicroFirm Function Library (MFL)
**
**  This subset version is functionally identical to the
**  version originally published by the author in Tech Specialist
**  magazine and is hereby donated to the public domain.
*/

#include <dos.h>
#include <time.h>

#if defined(__ZTC__)
 #include <int.h>
 #undef int_on
 #undef int_off
#elif defined(__TURBOC__)
 #define int_on         enable
 #define int_off        disable
 #ifndef inp
  #define inp           inportb
 #endif
 #ifndef outp
  #define outp          outportb
 #endif
#else /* assume MSC/QC */
 #include <conio.h>
 #define int_on         _enable
 #define int_off        _disable
 #ifndef MK_FP
  #define MK_FP(seg,offset) \
        ((void far *)(((unsigned long)(seg)<<16) | (unsigned)(offset)))
 #endif
#endif

/* ANSI-equivalent declarations and prototypes */

typedef unsigned long uclock_t;

#define UCLK_TCK 1000000L /* Usec per second - replaces CLK_TCK         */

#if __cplusplus
 extern "C" {
#endif

uclock_t usec_clock(void);
void     restart_uclock(void);

#if __cplusplus
 }
#endif