#ifndef __NLLIBC_SYS_TYPES_H_INCLUDED__
#define __NLLIBC_SYS_TYPES_H_INCLUDED__

typedef long long int64_t;
typedef unsigned long long uint64_t;
typedef int int32_t;
typedef unsigned int uint32_t;
typedef short int16_t;
typedef unsigned short uint16_t;
typedef char int8_t;
typedef unsigned char uint8_t;

typedef unsigned long size_t;
typedef unsigned long ssize_t;
typedef uint16_t mode_t;

typedef int pid_t;
typedef unsigned int uid_t;
typedef unsigned int gid_t;

typedef long intptr_t;

typedef __builtin_va_list __va_list;

#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__APPLE__)
typedef int64_t off_t;
typedef unsigned int useconds_t;
#endif

#if defined(__linux__)
typedef long off_t;
typedef long useconds_t;
#endif

#ifdef WIN32
typedef long off_t;
typedef unsigned int useconds_t;
#endif

#endif
