1/** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6#ifndef _INC_TYPES 7#define _INC_TYPES 8 9#ifndef _WIN32 10#error Only Win32 target is supported! 11#endif 12 13#include <crtdefs.h> 14 15#ifdef _USE_32BIT_TIME_T 16#ifdef _WIN64 17#undef _USE_32BIT_TIME_T 18#endif 19#endif 20 21#ifndef _TIME32_T_DEFINED 22#define _TIME32_T_DEFINED 23typedef long __time32_t; 24#endif 25 26#ifndef _TIME64_T_DEFINED 27#define _TIME64_T_DEFINED 28__MINGW_EXTENSION 29typedef __int64 __time64_t; 30#endif 31 32#ifndef _TIME_T_DEFINED 33#define _TIME_T_DEFINED 34#ifdef _USE_32BIT_TIME_T 35typedef __time32_t time_t; 36#else 37typedef __time64_t time_t; 38#endif 39#endif 40 41#ifndef _INO_T_DEFINED 42#define _INO_T_DEFINED 43typedef unsigned short _ino_t; 44#ifndef NO_OLDNAMES 45typedef unsigned short ino_t; 46#endif 47#endif 48 49#ifndef _DEV_T_DEFINED 50#define _DEV_T_DEFINED 51typedef unsigned int _dev_t; 52#ifndef NO_OLDNAMES 53typedef unsigned int dev_t; 54#endif 55#endif 56 57#ifndef _PID_T_ 58#define _PID_T_ 59#ifndef _WIN64 60typedef int _pid_t; 61#else 62__MINGW_EXTENSION 63typedef __int64 _pid_t; 64#endif 65 66#ifndef NO_OLDNAMES 67#undef pid_t 68typedef _pid_t pid_t; 69#endif 70#endif /* Not _PID_T_ */ 71 72#ifndef _MODE_T_ 73#define _MODE_T_ 74typedef unsigned short _mode_t; 75 76#ifndef NO_OLDNAMES 77typedef _mode_t mode_t; 78#endif 79#endif /* Not _MODE_T_ */ 80 81#include <_mingw_off_t.h> 82 83#ifndef __NO_ISOCEXT 84typedef unsigned int useconds_t; 85#endif 86 87#ifndef _TIMESPEC_DEFINED 88#define _TIMESPEC_DEFINED 89struct timespec { 90 time_t tv_sec; /* Seconds */ 91 long tv_nsec; /* Nanoseconds */ 92}; 93 94struct itimerspec { 95 struct timespec it_interval; /* Timer period */ 96 struct timespec it_value; /* Timer expiration */ 97}; 98#endif /* _TIMESPEC_DEFINED */ 99 100#ifndef _SIGSET_T_ 101#define _SIGSET_T_ 102#ifdef _WIN64 103__MINGW_EXTENSION 104typedef unsigned long long _sigset_t; 105#else 106typedef unsigned long _sigset_t; 107#endif 108 109#ifdef _POSIX 110typedef _sigset_t sigset_t; 111#endif 112#endif /* Not _SIGSET_T_ */ 113 114#endif /* _INC_TYPES */ 115 116