#ifndef _SYS_TYPES_H_
#define _SYS_TYPES_H_
#ifndef _SYS_CDEFS_H_
#include <sys/cdefs.h>
#endif
#include <machine/endian.h>
#include <machine/stdint.h>
#if __BSD_VISIBLE
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned char unchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
#endif
typedef __uint8_t u_int8_t;
typedef __uint16_t u_int16_t;
typedef __uint32_t u_int32_t;
typedef __uint64_t u_int64_t;
typedef __uint64_t u_quad_t;
typedef __int64_t quad_t;
typedef quad_t * qaddr_t;
typedef __int64_t sbintime_t;
#ifndef _BLKCNT_T_DECLARED
typedef __int64_t blkcnt_t;
#define _BLKCNT_T_DECLARED
#endif
#ifndef _BLKSIZE_T_DECLARED
typedef __int64_t blksize_t;
#define _BLKSIZE_T_DECLARED
#endif
typedef char * caddr_t;
typedef const char * c_caddr_t;
typedef volatile char * v_caddr_t;
typedef __int32_t daddr_t;
typedef __uint32_t u_daddr_t;
typedef __uint32_t fixpt_t;
#ifndef _DEV_T_DECLARED
typedef __uint32_t dev_t;
#define _DEV_T_DECLARED
#endif
#ifndef _FSBLKCNT_T_DECLARED
typedef __uint64_t fsblkcnt_t;
#define _FSBLKCNT_T_DECLARED
#endif
#ifndef _FSFILCNT_T_DECLARED
typedef __uint64_t fsfilcnt_t;
#define _FSFILCNT_T_DECLARED
#endif
#ifndef _GID_T_DECLARED
typedef __uint32_t gid_t;
#define _GID_T_DECLARED
#endif
#ifndef _ID_T_DECLARED
typedef __int64_t id_t;
#define _ID_T_DECLARED
#endif
#ifndef _IN_ADDR_T_DECLARED
typedef __uint32_t in_addr_t;
#define _IN_ADDR_T_DECLARED
#endif
#ifndef _IN_PORT_T_DECLARED
typedef __uint16_t in_port_t;
#define _IN_PORT_T_DECLARED
#endif
#ifndef _INO_T_DECLARED
typedef __uint64_t ino_t;
#define _INO_T_DECLARED
#endif
#ifndef _KEY_T_DECLARED
typedef long key_t;
#define _KEY_T_DECLARED
#endif
#ifndef _MODE_T_DECLARED
typedef __uint16_t mode_t;
#define _MODE_T_DECLARED
#endif
#ifndef _NLINK_T_DECLARED
typedef __uint32_t nlink_t;
#define _NLINK_T_DECLARED
#endif
#ifndef _OFF_T_DECLARED
typedef __off_t off_t;
#define _OFF_T_DECLARED
#endif
#ifndef _PID_T_DECLARED
typedef __pid_t pid_t;
#define _PID_T_DECLARED
#endif
#if __BSD_VISIBLE
typedef __register_t register_t;
#ifndef _RLIM_T_DECLARED
typedef __rlim_t rlim_t;
#define _RLIM_T_DECLARED
#endif
typedef __intlp_t segsz_t;
#endif
#ifndef _SUSECONDS_T_DECLARED
typedef __suseconds_t suseconds_t;
#define _SUSECONDS_T_DECLARED
#endif
#ifndef _UID_T_DECLARED
typedef __uint32_t uid_t;
#define _UID_T_DECLARED
#endif
#ifndef _USECONDS_T_DECLARED
typedef __uint32_t useconds_t;
#define _USECONDS_T_DECLARED
#endif
#if defined(_KERNEL) || defined(_KERNEL_STRUCTURES)
struct cdev;
typedef struct cdev *cdev_t;
typedef __uint64_t uoff_t;
#endif
#if __BSD_VISIBLE && !defined(_KERNEL)
#define major(x) ((int)(((u_int)(x) >> 8)&0xff))
#define minor(x) ((int)((x)&0xffff00ff))
#define makedev(x,y) ((dev_t)(((x) << 8) | (y)))
#endif
#ifndef _CLOCK_T_DECLARED
#define _CLOCK_T_DECLARED
typedef __clock_t clock_t;
#endif
#ifndef _CLOCKID_T_DECLARED
#define _CLOCKID_T_DECLARED
typedef __clockid_t clockid_t;
#endif
#if __BSD_VISIBLE
#ifndef _LWPID_T_DECLARED
#define _LWPID_T_DECLARED
typedef __pid_t lwpid_t;
#endif
#endif
#ifndef _SIZE_T_DECLARED
#define _SIZE_T_DECLARED
typedef __size_t size_t;
#endif
#ifndef _SSIZE_T_DECLARED
#define _SSIZE_T_DECLARED
typedef __ssize_t ssize_t;
#endif
#ifndef _TIME_T_DECLARED
#define _TIME_T_DECLARED
typedef __time_t time_t;
#endif
#ifndef _TIMER_T_DECLARED
#define _TIMER_T_DECLARED
typedef __timer_t timer_t;
#endif
#ifndef _KERNEL
#ifndef _STDINT_H_
#include <stdint.h>
#endif
#endif
#if defined(_KERNEL) || defined(_KERNEL_STRUCTURES)
#ifndef _SYS_STDINT_H_
#include <sys/stdint.h>
#endif
#include <machine/types.h>
#endif
#if __BSD_VISIBLE
#include <sys/_fd_set.h>
#include <sys/_timeval.h>
#endif
#if !defined(_KERNEL) && !defined(_STANDALONE)
#include <sys/_pthreadtypes.h>
#endif
#endif