#ifndef _KERN_KERN_TYPES_H_
#define _KERN_KERN_TYPES_H_
#ifdef KERNEL_PRIVATE
#include <mach/machine/vm_types.h>
#include <ipc/ipc_types.h>
#if !defined(MACH_KERNEL_PRIVATE)
struct thread_shuttle ;
struct task ;
struct host ;
struct processor ;
struct processor_set ;
struct thread_activation ;
struct subsystem ;
struct semaphore ;
struct lock_set ;
struct ledger ;
struct alarm ;
struct clock ;
struct zone ;
struct wait_queue ;
#else
#include <kern/misc_protos.h>
typedef struct clock *clock_t;
#endif
typedef struct thread_shuttle *thread_t;
typedef struct thread_shuttle *thread_shuttle_t;
typedef struct task *task_t;
typedef struct host *host_t;
typedef struct processor *processor_t;
typedef struct processor_set *processor_set_t;
typedef struct thread_activation *thread_act_t;
typedef struct subsystem *subsystem_t;
typedef struct semaphore *semaphore_t;
typedef struct lock_set *lock_set_t;
typedef struct ledger *ledger_t;
typedef struct alarm *alarm_t;
typedef struct clock *clock_serv_t;
typedef struct clock *clock_ctrl_t;
typedef struct zone *zone_t;
typedef struct wait_queue *wait_queue_t;
typedef host_t host_priv_t;
typedef host_t host_security_t;
typedef processor_set_t processor_set_name_t;
typedef vm_offset_t ipc_kobject_t;
typedef void *event_t;
typedef void (*continuation_t)(void);
#define ZONE_NULL ((zone_t) 0)
#define IKO_NULL ((ipc_kobject_t) 0)
#define WAIT_QUEUE_NULL ((wait_queue_t) 0)
#define NO_EVENT ((event_t)0)
#endif
#endif