Fix a serious bug in the NTPD loopfilter. Basically what happens is that
[dragonfly.git] / contrib / ntp / include / ntp_types.h
1 /*
2  *  ntp_types.h - defines how int32 and u_int32 are treated.
3  *  For 64 bit systems like the DEC Alpha, they have to be defined
4  *  as int and u_int.
5  *  For 32 bit systems, define them as long and u_long
6  */
7 #include "ntp_machine.h"
8
9 #ifndef _NTP_TYPES_
10 #define _NTP_TYPES_
11
12 /*
13  * This is another naming conflict.
14  * On NetBSD for MAC the macro "mac" is defined as 1
15  * this is fun for us as a packet structure contains an
16  * optional "mac" member - severe confusion results 8-)
17  * As we hopefully do not have to rely on that macro we
18  * just undefine that.
19  */
20 #ifdef mac
21 #undef mac
22 #endif
23
24 /*
25  * Set up for prototyping
26  */
27 #ifndef P
28 #if defined(__STDC__) || defined(HAVE_PROTOTYPES)
29 #define P(x)    x
30 #else /* not __STDC__ and not HAVE_PROTOTYPES */
31 #define P(x)    ()
32 #endif /* not __STDC__ and HAVE_PROTOTYPES */
33 #endif /* P */
34
35 /*
36  * VMS DECC (v4.1), {u_char,u_short,u_long} are only in SOCKET.H,
37  *                      and u_int isn't defined anywhere
38  */
39 #if defined(VMS)
40 #include <socket.h>
41 typedef unsigned int u_int;
42 /*
43  * Note: VMS DECC has  long == int  (even on __alpha),
44  *       so the distinction below doesn't matter
45  */
46 #endif /* VMS */
47
48 #if (SIZEOF_INT == 4)
49 # ifndef int32
50 #  define int32 int
51 # endif
52 # ifndef u_int32
53 #  define u_int32 unsigned int
54 # endif
55 #else /* not sizeof(int) == 4 */
56 # if (SIZEOF_LONG == 4)
57 # else /* not sizeof(long) == 4 */
58 #  ifndef int32
59 #   define int32 long
60 #  endif
61 #  ifndef u_int32
62 #   define u_int32 unsigned long
63 #  endif
64 # endif /* not sizeof(long) == 4 */
65 # include "Bletch: what's 32 bits on this machine?"
66 #endif /* not sizeof(int) == 4 */
67
68 typedef unsigned short associd_t; /* association ID */
69 typedef u_int32 keyid_t;        /* cryptographic key ID */
70 typedef u_int32 tstamp_t;       /* NTP seconds timestamp */
71
72 #endif /* _NTP_TYPES_ */
73