-/*
- * Actual clock alarm structure. Used for user clock_sleep() and
- * clock_alarm() calls. Alarms are allocated from the alarm free
- * list and entered in time priority order into the active alarm
- * chain of the target clock.
- */
-struct alarm {
- struct alarm *al_next; /* next alarm in chain */
- struct alarm *al_prev; /* previous alarm in chain */
- int al_status; /* alarm status */
- mach_timespec_t al_time; /* alarm time */
- struct { /* message alarm data */
- int type; /* alarm type */
- ipc_port_t port; /* alarm port */
- mach_msg_type_name_t
- port_type; /* alarm port type */
- struct clock *clock; /* alarm clock */
- void *data; /* alarm data */
- } al_alrm;
-#define al_type al_alrm.type
-#define al_port al_alrm.port
-#define al_port_type al_alrm.port_type
-#define al_clock al_alrm.clock
-#define al_data al_alrm.data
- long al_seqno; /* alarm sequence number */
-};
-typedef struct alarm alarm_data_t;
+#include <sys/cdefs.h>
+
+#ifdef __LP64__
+
+typedef unsigned long clock_sec_t;
+typedef unsigned int clock_usec_t, clock_nsec_t;
+
+#else /* __LP64__ */
+
+typedef uint32_t clock_sec_t;
+typedef uint32_t clock_usec_t, clock_nsec_t;
+
+#endif /* __LP64__ */