diff options
Diffstat (limited to 'winsup/mingw/include')
54 files changed, 0 insertions, 8672 deletions
diff --git a/winsup/mingw/include/_mingw.h b/winsup/mingw/include/_mingw.h deleted file mode 100644 index cbfd54ced..000000000 --- a/winsup/mingw/include/_mingw.h +++ /dev/null @@ -1,303 +0,0 @@ -#ifndef __MINGW_H -/* - * _mingw.h - * - * Mingw specific macros included by ALL include files. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Mumit Khan <khan@xraylith.wisc.edu> - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - */ -#define __MINGW_H - -#define __MINGW_VERSION 4 -#define __MINGW_MAJOR_VERSION 0 -#define __MINGW_MINOR_VERSION 0 -#define __MINGW_PATCHLEVEL 0 - -// These four macros are deprecated and will be removed in the next major -// version release. -#define __MINGW32_VERSION 3.20 -#define __MINGW32_MAJOR_VERSION 3 -#define __MINGW32_MINOR_VERSION 20 -#define __MINGW32_PATCHLEVEL 0 - -#if __GNUC__ >= 3 -#ifndef __PCC__ -#pragma GCC system_header -#endif -#endif - -/* These are defined by the user (or the compiler) - to specify how identifiers are imported from a DLL. - - __DECLSPEC_SUPPORTED Defined if dllimport attribute is supported. - __MINGW_IMPORT The attribute definition to specify imported - variables/functions. - _CRTIMP As above. For MS compatibility. - __MINGW_VERSION Runtime version. - __MINGW_MAJOR_VERSION Runtime major version. - __MINGW_MINOR_VERSION Runtime minor version. - __MINGW_BUILD_DATE Runtime build date. - - Macros to enable MinGW features which deviate from standard MSVC - compatible behaviour; these may be specified directly in user code, - activated implicitly, (e.g. by specifying _POSIX_C_SOURCE or such), - or by inclusion in __MINGW_FEATURES__: - - __USE_MINGW_ANSI_STDIO Select a more ANSI C99 compatible - implementation of printf() and friends. - - Other macros: - - __int64 define to be long long. Using a typedef - doesn't work for "unsigned __int64" - - All headers should include this first, and then use __DECLSPEC_SUPPORTED - to choose between the old ``__imp__name'' style or __MINGW_IMPORT - style declarations. */ - - -/* Manifest definitions identifying the flag bits, controlling activation - * of MinGW features, as specified by the user in __MINGW_FEATURES__. - */ -#define __MINGW_ANSI_STDIO__ 0x0000000000000001ULL -/* - * The following three are not yet formally supported; they are - * included here, to document anticipated future usage. - */ -#define __MINGW_LC_EXTENSIONS__ 0x0000000000000050ULL -#define __MINGW_LC_MESSAGES__ 0x0000000000000010ULL -#define __MINGW_LC_ENVVARS__ 0x0000000000000040ULL - -/* Try to avoid problems with outdated checks for GCC __attribute__ support. */ -#undef __attribute__ - -#if defined (__PCC__) -# undef __DECLSPEC_SUPPORTED -# ifndef __MINGW_IMPORT -# define __MINGW_IMPORT extern -# endif -# ifndef _CRTIMP -# define _CRTIMP -# endif -# ifndef __cdecl -# define __cdecl _Pragma("cdecl") -# endif -# ifndef __stdcall -# define __stdcall _Pragma("stdcall") -# endif -# ifndef __int64 -# define __int64 long long -# endif -# ifndef __int32 -# define __int32 long -# endif -# ifndef __int16 -# define __int16 short -# endif -# ifndef __int8 -# define __int8 char -# endif -# ifndef __small -# define __small char -# endif -# ifndef __hyper -# define __hyper long long -# endif -# ifndef __volatile__ -# define __volatile__ volatile -# endif -# ifndef __restrict__ -# define __restrict__ restrict -# endif -# define NONAMELESSUNION -#elif defined(__GNUC__) -# ifdef __declspec -# ifndef __MINGW_IMPORT - /* Note the extern. This is needed to work around GCC's - limitations in handling dllimport attribute. */ -# define __MINGW_IMPORT extern __attribute__ ((__dllimport__)) -# endif -# ifndef _CRTIMP -# ifdef __USE_CRTIMP -# define _CRTIMP __attribute__ ((dllimport)) -# else -# define _CRTIMP -# endif -# endif -# define __DECLSPEC_SUPPORTED -# else /* __declspec */ -# undef __DECLSPEC_SUPPORTED -# undef __MINGW_IMPORT -# ifndef _CRTIMP -# define _CRTIMP -# endif -# endif /* __declspec */ -/* - * The next two defines can cause problems if user code adds the - * __cdecl attribute like so: - * void __attribute__ ((__cdecl)) foo(void); - */ -# ifndef __cdecl -# define __cdecl __attribute__ ((__cdecl__)) -# endif -# ifndef __stdcall -# define __stdcall __attribute__ ((__stdcall__)) -# endif -# ifndef __int64 -# define __int64 long long -# endif -# ifndef __int32 -# define __int32 long -# endif -# ifndef __int16 -# define __int16 short -# endif -# ifndef __int8 -# define __int8 char -# endif -# ifndef __small -# define __small char -# endif -# ifndef __hyper -# define __hyper long long -# endif -#else /* ! __GNUC__ && ! __PCC__ */ -# ifndef __MINGW_IMPORT -# define __MINGW_IMPORT __declspec(dllimport) -# endif -# ifndef _CRTIMP -# define _CRTIMP __declspec(dllimport) -# endif -# define __DECLSPEC_SUPPORTED -# define __attribute__(x) /* nothing */ -#endif - -#if defined (__GNUC__) && defined (__GNUC_MINOR__) -#define __MINGW_GNUC_PREREQ(major, minor) \ - (__GNUC__ > (major) \ - || (__GNUC__ == (major) && __GNUC_MINOR__ >= (minor))) -#else -#define __MINGW_GNUC_PREREQ(major, minor) 0 -#endif - -#ifdef __cplusplus -# define __CRT_INLINE inline -#else -# if __GNUC_STDC_INLINE__ -# define __CRT_INLINE extern inline __attribute__((__gnu_inline__)) -# else -# define __CRT_INLINE extern __inline__ -# endif -#endif - -# ifdef __GNUC__ -# define _CRTALIAS __CRT_INLINE __attribute__ ((__always_inline__)) -# else -# define _CRTALIAS __CRT_INLINE -# endif - -#ifdef __cplusplus -# define __UNUSED_PARAM(x) -#else -# ifdef __GNUC__ -# define __UNUSED_PARAM(x) x __attribute__ ((__unused__)) -# else -# define __UNUSED_PARAM(x) x -# endif -#endif - -#ifdef __GNUC__ -#define __MINGW_ATTRIB_NORETURN __attribute__ ((__noreturn__)) -#define __MINGW_ATTRIB_CONST __attribute__ ((__const__)) -#else -#define __MINGW_ATTRIB_NORETURN -#define __MINGW_ATTRIB_CONST -#endif - -#if __MINGW_GNUC_PREREQ (3, 0) -#define __MINGW_ATTRIB_MALLOC __attribute__ ((__malloc__)) -#define __MINGW_ATTRIB_PURE __attribute__ ((__pure__)) -#else -#define __MINGW_ATTRIB_MALLOC -#define __MINGW_ATTRIB_PURE -#endif - -/* Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's - variadiac macro facility, because variadic macros cause syntax - errors with --traditional-cpp. */ -#if __MINGW_GNUC_PREREQ (3, 3) -#define __MINGW_ATTRIB_NONNULL(arg) __attribute__ ((__nonnull__ (arg))) -#else -#define __MINGW_ATTRIB_NONNULL(arg) -#endif /* GNUC >= 3.3 */ - -#if __MINGW_GNUC_PREREQ (3, 1) -#define __MINGW_ATTRIB_DEPRECATED __attribute__ ((__deprecated__)) -#else -#define __MINGW_ATTRIB_DEPRECATED -#endif /* GNUC >= 3.1 */ - -#if __MINGW_GNUC_PREREQ (3, 3) -#define __MINGW_NOTHROW __attribute__ ((__nothrow__)) -#else -#define __MINGW_NOTHROW -#endif /* GNUC >= 3.3 */ - - -/* TODO: Mark (almost) all CRT functions as __MINGW_NOTHROW. This will -allow GCC to optimize away some EH unwind code, at least in DW2 case. */ - -#ifndef __MSVCRT_VERSION__ -/* High byte is the major version, low byte is the minor. */ -# define __MSVCRT_VERSION__ 0x0600 -#endif - -/* Activation of MinGW specific extended features: - */ -#ifndef __USE_MINGW_ANSI_STDIO -/* - * If user didn't specify it explicitly... - */ -# if defined __STRICT_ANSI__ || defined _ISOC99_SOURCE \ - || defined _POSIX_SOURCE || defined _POSIX_C_SOURCE \ - || defined _XOPEN_SOURCE || defined _XOPEN_SOURCE_EXTENDED \ - || defined _GNU_SOURCE || defined _BSD_SOURCE \ - || defined _SVID_SOURCE - /* - * but where any of these source code qualifiers are specified, - * then assume ANSI I/O standards are preferred over Microsoft's... - */ -# define __USE_MINGW_ANSI_STDIO 1 -# else - /* - * otherwise use whatever __MINGW_FEATURES__ specifies... - */ -# define __USE_MINGW_ANSI_STDIO (__MINGW_FEATURES__ & __MINGW_ANSI_STDIO__) -# endif -#endif - -struct threadlocalinfostruct; -struct threadmbinfostruct; -typedef struct threadlocalinfostruct *pthreadlocinfo; -typedef struct threadmbcinfostruct *pthreadmbcinfo; - -typedef struct localeinfo_struct { - pthreadlocinfo locinfo; - pthreadmbcinfo mbcinfo; -} _locale_tstruct, *_locale_t; - -#endif /* __MINGW_H */ diff --git a/winsup/mingw/include/assert.h b/winsup/mingw/include/assert.h deleted file mode 100644 index 0cf09fe09..000000000 --- a/winsup/mingw/include/assert.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * assert.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Define the assert macro for debug output. - * - */ - -/* We should be able to include this file multiple times to allow the assert - macro to be enabled/disabled for different parts of code. So don't add a - header guard. */ - -#ifndef RC_INVOKED - -/* All the headers include this file. */ -#include <_mingw.h> - -#undef assert - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef NDEBUG -/* - * If not debugging, assert does nothing. - */ -#define assert(x) ((void)0) - -#else /* debugging enabled */ - -/* - * CRTDLL nicely supplies a function which does the actual output and - * call to abort. - */ -_CRTIMP void __cdecl __MINGW_NOTHROW _assert (const char*, const char*, int) __MINGW_ATTRIB_NORETURN; - -/* - * Definition of the assert macro. - */ -#define assert(e) ((e) ? (void)0 : _assert(#e, __FILE__, __LINE__)) - -#endif /* NDEBUG */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ diff --git a/winsup/mingw/include/complex.h b/winsup/mingw/include/complex.h deleted file mode 100644 index 93f2a80c5..000000000 --- a/winsup/mingw/include/complex.h +++ /dev/null @@ -1,200 +0,0 @@ -/* - * complex.h - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Danny Smith <dannysmith@users.sourceforge.net> - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - */ - -#ifndef _COMPLEX_H_ -#define _COMPLEX_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -/* These macros are specified by C99 standard */ - -#ifndef __cplusplus -#define complex _Complex -#endif - -#define _Complex_I (0.0F + 1.0iF) - -/* GCC doesn't support _Imaginary type yet, so we don't - define _Imaginary_I */ - -#define I _Complex_I - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef RC_INVOKED - -double __MINGW_ATTRIB_CONST creal (double _Complex); -double __MINGW_ATTRIB_CONST cimag (double _Complex); -double __MINGW_ATTRIB_CONST carg (double _Complex); -double __MINGW_ATTRIB_CONST cabs (double _Complex); -double _Complex __MINGW_ATTRIB_CONST conj (double _Complex); -double _Complex cacos (double _Complex); -double _Complex casin (double _Complex); -double _Complex catan (double _Complex); -double _Complex ccos (double _Complex); -double _Complex csin (double _Complex); -double _Complex ctan (double _Complex); -double _Complex cacosh (double _Complex); -double _Complex casinh (double _Complex); -double _Complex catanh (double _Complex); -double _Complex ccosh (double _Complex); -double _Complex csinh (double _Complex); -double _Complex ctanh (double _Complex); -double _Complex cexp (double _Complex); -double _Complex clog (double _Complex); -double _Complex cpow (double _Complex, double _Complex); -double _Complex csqrt (double _Complex); -double _Complex __MINGW_ATTRIB_CONST cproj (double _Complex); - -float __MINGW_ATTRIB_CONST crealf (float _Complex); -float __MINGW_ATTRIB_CONST cimagf (float _Complex); -float __MINGW_ATTRIB_CONST cargf (float _Complex); -float __MINGW_ATTRIB_CONST cabsf (float _Complex); -float _Complex __MINGW_ATTRIB_CONST conjf (float _Complex); -float _Complex cacosf (float _Complex); -float _Complex casinf (float _Complex); -float _Complex catanf (float _Complex); -float _Complex ccosf (float _Complex); -float _Complex csinf (float _Complex); -float _Complex ctanf (float _Complex); -float _Complex cacoshf (float _Complex); -float _Complex casinhf (float _Complex); -float _Complex catanhf (float _Complex); -float _Complex ccoshf (float _Complex); -float _Complex csinhf (float _Complex); -float _Complex ctanhf (float _Complex); -float _Complex cexpf (float _Complex); -float _Complex clogf (float _Complex); -float _Complex cpowf (float _Complex, float _Complex); -float _Complex csqrtf (float _Complex); -float _Complex __MINGW_ATTRIB_CONST cprojf (float _Complex); - -long double __MINGW_ATTRIB_CONST creall (long double _Complex); -long double __MINGW_ATTRIB_CONST cimagl (long double _Complex); -long double __MINGW_ATTRIB_CONST cargl (long double _Complex); -long double __MINGW_ATTRIB_CONST cabsl (long double _Complex); -long double _Complex __MINGW_ATTRIB_CONST conjl (long double _Complex); -long double _Complex cacosl (long double _Complex); -long double _Complex casinl (long double _Complex); -long double _Complex catanl (long double _Complex); -long double _Complex ccosl (long double _Complex); -long double _Complex csinl (long double _Complex); -long double _Complex ctanl (long double _Complex); -long double _Complex cacoshl (long double _Complex); -long double _Complex casinhl (long double _Complex); -long double _Complex catanhl (long double _Complex); -long double _Complex ccoshl (long double _Complex); -long double _Complex csinhl (long double _Complex); -long double _Complex ctanhl (long double _Complex); -long double _Complex cexpl (long double _Complex); -long double _Complex clogl (long double _Complex); -long double _Complex cpowl (long double _Complex, long double _Complex); -long double _Complex csqrtl (long double _Complex); -long double _Complex __MINGW_ATTRIB_CONST cprojl (long double _Complex); - -#ifdef __GNUC__ - -/* double */ -__CRT_INLINE double __MINGW_ATTRIB_CONST creal (double _Complex _Z) -{ - return __real__ _Z; -} - -__CRT_INLINE double __MINGW_ATTRIB_CONST cimag (double _Complex _Z) -{ - return __imag__ _Z; -} - -__CRT_INLINE double _Complex __MINGW_ATTRIB_CONST conj (double _Complex _Z) -{ - return __extension__ ~_Z; -} - -__CRT_INLINE double __MINGW_ATTRIB_CONST carg (double _Complex _Z) -{ - double res; - __asm__ ("fpatan;" - : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)"); - return res; -} - - -/* float */ -__CRT_INLINE float __MINGW_ATTRIB_CONST crealf (float _Complex _Z) -{ - return __real__ _Z; -} - -__CRT_INLINE float __MINGW_ATTRIB_CONST cimagf (float _Complex _Z) -{ - return __imag__ _Z; -} - -__CRT_INLINE float _Complex __MINGW_ATTRIB_CONST conjf (float _Complex _Z) -{ - return __extension__ ~_Z; -} - -__CRT_INLINE float __MINGW_ATTRIB_CONST cargf (float _Complex _Z) -{ - float res; - __asm__ ("fpatan;" - : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)"); - return res; -} - -/* long double */ -__CRT_INLINE long double __MINGW_ATTRIB_CONST creall (long double _Complex _Z) -{ - return __real__ _Z; -} - -__CRT_INLINE long double __MINGW_ATTRIB_CONST cimagl (long double _Complex _Z) -{ - return __imag__ _Z; -} - -__CRT_INLINE long double _Complex __MINGW_ATTRIB_CONST conjl (long double _Complex _Z) -{ - return __extension__ ~_Z; -} - -__CRT_INLINE long double __MINGW_ATTRIB_CONST cargl (long double _Complex _Z) -{ - long double res; - __asm__ ("fpatan;" - : "=t" (res) : "0" (__real__ _Z), "u" (__imag__ _Z) : "st(1)"); - return res; -} - -#endif /* __GNUC__ */ - - -#endif /* RC_INVOKED */ - -#ifdef __cplusplus -} -#endif - - -#endif /* _COMPLEX_H */ diff --git a/winsup/mingw/include/conio.h b/winsup/mingw/include/conio.h deleted file mode 100644 index 8a821cbdb..000000000 --- a/winsup/mingw/include/conio.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * conio.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Low level console I/O functions. Pretty please try to use the ANSI - * standard ones if you are writing new code. - * - */ - -#ifndef _CONIO_H_ -#define _CONIO_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -_CRTIMP char* __cdecl __MINGW_NOTHROW _cgets (char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _cprintf (const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW _cputs (const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _cscanf (char*, ...); - -_CRTIMP int __cdecl __MINGW_NOTHROW _getch (void); -_CRTIMP int __cdecl __MINGW_NOTHROW _getche (void); -_CRTIMP int __cdecl __MINGW_NOTHROW _kbhit (void); -_CRTIMP int __cdecl __MINGW_NOTHROW _putch (int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ungetch (int); - - -#ifndef _NO_OLDNAMES - -_CRTIMP int __cdecl __MINGW_NOTHROW getch (void); -_CRTIMP int __cdecl __MINGW_NOTHROW getche (void); -_CRTIMP int __cdecl __MINGW_NOTHROW kbhit (void); -_CRTIMP int __cdecl __MINGW_NOTHROW putch (int); -_CRTIMP int __cdecl __MINGW_NOTHROW ungetch (int); - -#endif /* Not _NO_OLDNAMES */ - - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _CONIO_H_ */ diff --git a/winsup/mingw/include/ctype.h b/winsup/mingw/include/ctype.h deleted file mode 100644 index 551566bc4..000000000 --- a/winsup/mingw/include/ctype.h +++ /dev/null @@ -1,275 +0,0 @@ -/* - * ctype.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Functions for testing character types and converting characters. - * - */ - -#ifndef _CTYPE_H_ -#define _CTYPE_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#define __need_wchar_t -#define __need_wint_t -#ifndef RC_INVOKED -#include <stddef.h> -#endif /* Not RC_INVOKED */ - - -/* - * The following flags are used to tell iswctype and _isctype what character - * types you are looking for. - */ -#define _UPPER 0x0001 -#define _LOWER 0x0002 -#define _DIGIT 0x0004 -#define _SPACE 0x0008 /* HT LF VT FF CR SP */ -#define _PUNCT 0x0010 -#define _CONTROL 0x0020 -/* _BLANK is set for SP and non-ASCII horizontal space chars (eg, - "no-break space", 0xA0, in CP1250) but not for HT. */ -#define _BLANK 0x0040 -#define _HEX 0x0080 -#define _LEADBYTE 0x8000 - -#define _ALPHA 0x0103 - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -_CRTIMP int __cdecl __MINGW_NOTHROW isalnum(int); -_CRTIMP int __cdecl __MINGW_NOTHROW isalpha(int); -_CRTIMP int __cdecl __MINGW_NOTHROW iscntrl(int); -_CRTIMP int __cdecl __MINGW_NOTHROW isdigit(int); -_CRTIMP int __cdecl __MINGW_NOTHROW isgraph(int); -_CRTIMP int __cdecl __MINGW_NOTHROW islower(int); -_CRTIMP int __cdecl __MINGW_NOTHROW isprint(int); -_CRTIMP int __cdecl __MINGW_NOTHROW ispunct(int); -_CRTIMP int __cdecl __MINGW_NOTHROW isspace(int); -_CRTIMP int __cdecl __MINGW_NOTHROW isupper(int); -_CRTIMP int __cdecl __MINGW_NOTHROW isxdigit(int); - -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \ - || !defined __STRICT_ANSI__ -int __cdecl __MINGW_NOTHROW isblank (int); -#endif - -#ifndef __STRICT_ANSI__ -_CRTIMP int __cdecl __MINGW_NOTHROW _isctype (int, int); -#endif - -/* These are the ANSI versions, with correct checking of argument */ -_CRTIMP int __cdecl __MINGW_NOTHROW tolower(int); -_CRTIMP int __cdecl __MINGW_NOTHROW toupper(int); - -/* - * NOTE: The above are not old name type wrappers, but functions exported - * explicitly by MSVCRT/CRTDLL. However, underscored versions are also - * exported. - */ -#ifndef __STRICT_ANSI__ -/* - * These are the cheap non-std versions: The return values are undefined - * if the argument is not ASCII char or is not of appropriate case - */ -_CRTIMP int __cdecl __MINGW_NOTHROW _tolower(int); -_CRTIMP int __cdecl __MINGW_NOTHROW _toupper(int); -#endif - -/* Also defined in stdlib.h */ -#ifndef MB_CUR_MAX -#ifdef __DECLSPEC_SUPPORTED -# ifdef __MSVCRT__ -# define MB_CUR_MAX __mb_cur_max - __MINGW_IMPORT int __mb_cur_max; -# else /* not __MSVCRT */ -# define MB_CUR_MAX __mb_cur_max_dll - __MINGW_IMPORT int __mb_cur_max_dll; -# endif /* not __MSVCRT */ - -#else /* ! __DECLSPEC_SUPPORTED */ -# ifdef __MSVCRT__ - extern int* _imp____mb_cur_max; -# define MB_CUR_MAX (*_imp____mb_cur_max) -# else /* not __MSVCRT */ - extern int* _imp____mb_cur_max_dll; -# define MB_CUR_MAX (*_imp____mb_cur_max_dll) -# endif /* not __MSVCRT */ -#endif /* __DECLSPEC_SUPPORTED */ -#endif /* MB_CUR_MAX */ - - -#ifdef __DECLSPEC_SUPPORTED -# if __MSVCRT_VERSION__ <= 0x0700 - __MINGW_IMPORT unsigned short _ctype[]; -# endif -# ifdef __MSVCRT__ - __MINGW_IMPORT unsigned short* _pctype; -# else /* CRTDLL */ - __MINGW_IMPORT unsigned short* _pctype_dll; -# define _pctype _pctype_dll -# endif - -#else /* __DECLSPEC_SUPPORTED */ -# if __MSVCRT_VERSION__ <= 0x0700 - extern unsigned short** _imp___ctype; -# define _ctype (*_imp___ctype) -# endif -# ifdef __MSVCRT__ - extern unsigned short** _imp___pctype; -# define _pctype (*_imp___pctype) -# else /* CRTDLL */ - extern unsigned short** _imp___pctype_dll; -# define _pctype (*_imp___pctype_dll) -# endif /* CRTDLL */ -#endif /* __DECLSPEC_SUPPORTED */ - -/* - * Use inlines here rather than macros, because macros will upset - * C++ usage (eg, ::isalnum), and so usually get undefined - * - * According to standard for SB chars, these function are defined only - * for input values representable by unsigned char or EOF. - * Thus, there is no range test. - * This reproduces behaviour of MSVCRT.dll lib implemention for SB chars. - * - * If no MB char support is needed, these can be simplified even - * more by command line define -DMB_CUR_MAX=1. The compiler will then - * optimise away the constant condition. - */ - -#if !(defined (__NO_INLINE__) || defined (__NO_CTYPE_INLINES) \ - || defined (__STRICT_ANSI__)) - -/* use simple lookup if SB locale, else _isctype() */ -#define __ISCTYPE(c, mask) (MB_CUR_MAX == 1 ? (_pctype[c] & mask) : _isctype(c, mask)) -__CRT_INLINE int __cdecl __MINGW_NOTHROW isalnum(int c) {return __ISCTYPE(c, (_ALPHA|_DIGIT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW isalpha(int c) {return __ISCTYPE(c, _ALPHA);} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iscntrl(int c) {return __ISCTYPE(c, _CONTROL);} -__CRT_INLINE int __cdecl __MINGW_NOTHROW isdigit(int c) {return __ISCTYPE(c, _DIGIT);} -__CRT_INLINE int __cdecl __MINGW_NOTHROW isgraph(int c) {return __ISCTYPE(c, (_PUNCT|_ALPHA|_DIGIT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW islower(int c) {return __ISCTYPE(c, _LOWER);} -__CRT_INLINE int __cdecl __MINGW_NOTHROW isprint(int c) {return __ISCTYPE(c, (_BLANK|_PUNCT|_ALPHA|_DIGIT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW ispunct(int c) {return __ISCTYPE(c, _PUNCT);} -__CRT_INLINE int __cdecl __MINGW_NOTHROW isspace(int c) {return __ISCTYPE(c, _SPACE);} -__CRT_INLINE int __cdecl __MINGW_NOTHROW isupper(int c) {return __ISCTYPE(c, _UPPER);} -__CRT_INLINE int __cdecl __MINGW_NOTHROW isxdigit(int c) {return __ISCTYPE(c, _HEX);} - -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \ - || !defined __STRICT_ANSI__ -__CRT_INLINE int __cdecl __MINGW_NOTHROW isblank (int c) - {return (__ISCTYPE(c, _BLANK) || c == '\t');} -#endif - -/* these reproduce behaviour of lib underscored versions */ -__CRT_INLINE int __cdecl __MINGW_NOTHROW _tolower(int c) {return ( c -'A'+'a');} -__CRT_INLINE int __cdecl __MINGW_NOTHROW _toupper(int c) {return ( c -'a'+'A');} - -/* TODO? Is it worth inlining ANSI tolower, toupper? Probably only - if we only want C-locale. */ - -#endif /* _NO_CTYPE_INLINES */ - -/* Wide character equivalents */ - -#ifndef WEOF -#define WEOF (wchar_t)(0xFFFF) -#endif - -#ifndef _WCTYPE_T_DEFINED -typedef wchar_t wctype_t; -#define _WCTYPE_T_DEFINED -#endif - -_CRTIMP int __cdecl __MINGW_NOTHROW iswalnum(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswalpha(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswascii(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswcntrl(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswctype(wint_t, wctype_t); -_CRTIMP int __cdecl __MINGW_NOTHROW is_wctype(wint_t, wctype_t); /* Obsolete! */ -_CRTIMP int __cdecl __MINGW_NOTHROW iswdigit(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswgraph(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswlower(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswprint(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswpunct(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswspace(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswupper(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswxdigit(wint_t); - -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \ - || !defined __STRICT_ANSI__ || defined __cplusplus -int __cdecl __MINGW_NOTHROW iswblank (wint_t); -#endif - -/* Older MS docs uses wchar_t for arg and return type, while newer - online MS docs say arg is wint_t and return is int. - ISO C uses wint_t for both. */ -_CRTIMP wint_t __cdecl __MINGW_NOTHROW towlower (wint_t); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW towupper (wint_t); - -_CRTIMP int __cdecl __MINGW_NOTHROW isleadbyte (int); - -/* Also in wctype.h */ -#if ! (defined (__NO_INLINE__) || defined(__NO_CTYPE_INLINES) \ - || defined(__WCTYPE_INLINES_DEFINED)) -#define __WCTYPE_INLINES_DEFINED -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswlower(wint_t wc) {return (iswctype(wc,_LOWER));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswspace(wint_t wc) {return (iswctype(wc,_SPACE));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswupper(wint_t wc) {return (iswctype(wc,_UPPER));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);} -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \ - || !defined __STRICT_ANSI__ || defined __cplusplus -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswblank (wint_t wc) - {return (iswctype(wc,_BLANK) || wc == L'\t');} -#endif - -#endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */ - -#ifndef __STRICT_ANSI__ -int __cdecl __MINGW_NOTHROW __isascii (int); -int __cdecl __MINGW_NOTHROW __toascii (int); -int __cdecl __MINGW_NOTHROW __iscsymf (int); /* Valid first character in C symbol */ -int __cdecl __MINGW_NOTHROW __iscsym (int); /* Valid character in C symbol (after first) */ - -#if !(defined (__NO_INLINE__) || defined (__NO_CTYPE_INLINES)) -__CRT_INLINE int __cdecl __MINGW_NOTHROW __isascii(int c) {return ((c & ~0x7F) == 0);} -__CRT_INLINE int __cdecl __MINGW_NOTHROW __toascii(int c) {return (c & 0x7F);} -__CRT_INLINE int __cdecl __MINGW_NOTHROW __iscsymf(int c) {return (isalpha(c) || (c == '_'));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW __iscsym(int c) {return (isalnum(c) || (c == '_'));} -#endif /* __NO_CTYPE_INLINES */ - -#ifndef _NO_OLDNAMES -/* Not _CRTIMP */ -int __cdecl __MINGW_NOTHROW isascii (int); -int __cdecl __MINGW_NOTHROW toascii (int); -int __cdecl __MINGW_NOTHROW iscsymf (int); -int __cdecl __MINGW_NOTHROW iscsym (int); -#endif /* Not _NO_OLDNAMES */ - -#endif /* Not __STRICT_ANSI__ */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _CTYPE_H_ */ - diff --git a/winsup/mingw/include/dir.h b/winsup/mingw/include/dir.h deleted file mode 100644 index d759a0a61..000000000 --- a/winsup/mingw/include/dir.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * dir.h - * - * This file OBSOLESCENT and only provided for backward compatibility. - * Please use io.h instead. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> - * Mumit Khan <khan@xraylith.wisc.edu> - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - */ - -#include <io.h> - diff --git a/winsup/mingw/include/direct.h b/winsup/mingw/include/direct.h deleted file mode 100644 index 8e39c4ccf..000000000 --- a/winsup/mingw/include/direct.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * direct.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Functions for manipulating paths and directories (included from io.h) - * plus functions for setting the current drive. - * - */ -#ifndef _DIRECT_H_ -#define _DIRECT_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#define __need_wchar_t -#ifndef RC_INVOKED -#include <stddef.h> -#endif /* Not RC_INVOKED */ - -#include <io.h> - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _DISKFREE_T_DEFINED -/* needed by _getdiskfree (also in dos.h) */ -struct _diskfree_t { - unsigned total_clusters; - unsigned avail_clusters; - unsigned sectors_per_cluster; - unsigned bytes_per_sector; -}; -#define _DISKFREE_T_DEFINED -#endif - -/* - * You really shouldn't be using these. Use the Win32 API functions instead. - * However, it does make it easier to port older code. - */ -_CRTIMP int __cdecl __MINGW_NOTHROW _getdrive (void); -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW _getdrives(void); -_CRTIMP int __cdecl __MINGW_NOTHROW _chdrive (int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _getdcwd (int, char*, int); -_CRTIMP unsigned __cdecl __MINGW_NOTHROW _getdiskfree (unsigned, struct _diskfree_t *); - -#ifndef _NO_OLDNAMES -# define diskfree_t _diskfree_t -#endif - -#ifndef _WDIRECT_DEFINED -/* wide character versions. Also in wchar.h */ -#ifdef __MSVCRT__ -_CRTIMP int __cdecl __MINGW_NOTHROW _wchdir(const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetcwd(wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetdcwd(int, wchar_t*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _wmkdir(const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wrmdir(const wchar_t*); -#endif /* __MSVCRT__ */ -#define _WDIRECT_DEFINED -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _DIRECT_H_ */ diff --git a/winsup/mingw/include/dirent.h b/winsup/mingw/include/dirent.h deleted file mode 100644 index 3abedfafc..000000000 --- a/winsup/mingw/include/dirent.h +++ /dev/null @@ -1,143 +0,0 @@ -/* - * DIRENT.H (formerly DIRLIB.H) - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - */ -#ifndef _DIRENT_H_ -#define _DIRENT_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#include <io.h> - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -struct dirent -{ - long d_ino; /* Always zero. */ - unsigned short d_reclen; /* Always zero. */ - unsigned short d_namlen; /* Length of name in d_name. */ - - /* The following exactly mimic the layout of _finddata_t ... - */ - unsigned d_type; /* File attributes */ - time_t d_time_create; - time_t d_time_access; /* always midnight local time */ - time_t d_time_write; - _fsize_t d_size; - /* - * ...so that we may map a union of _finddata_t at the - * location of d_type (corresponding to _finddata_t.attrib), - * and thus map this directly to the _findfirst/_findnext - * returned field. - */ - char d_name[FILENAME_MAX]; /* File name. */ -}; - -/* - * This opaque data type represents the private structure - * through which a directory stream is referenced. - */ -typedef union __dirstream_t DIR; - -DIR* __cdecl __MINGW_NOTHROW opendir (const char*); -struct dirent* __cdecl __MINGW_NOTHROW readdir (DIR*); -int __cdecl __MINGW_NOTHROW closedir (DIR*); -void __cdecl __MINGW_NOTHROW rewinddir (DIR*); -long __cdecl __MINGW_NOTHROW telldir (DIR*); -void __cdecl __MINGW_NOTHROW seekdir (DIR*, long); - - -/* wide char versions */ - -struct _wdirent -{ - long d_ino; /* Always zero. */ - unsigned short d_reclen; /* Always zero. */ - unsigned short d_namlen; /* Length of name in d_name. */ - - /* The following exactly mimic the layout of _wfinddata_t ... - */ - unsigned d_type; /* File attributes */ - time_t d_time_create; /* -1 for FAT file systems */ - time_t d_time_access; /* -1 for FAT file systems */ - time_t d_time_write; - _fsize_t d_size; - /* - * ...so that we may map a union of _wfinddata_t at the - * location of d_type (corresponding to _wfinddata_t.attrib), - * and thus map this directly to the _wfindfirst/_wfindnext - * returned field. - */ - wchar_t d_name[FILENAME_MAX]; /* File name. */ -}; - -/* - * This opaque data type represents the private structure - * through which a wide directory stream is referenced. - */ -typedef union __wdirstream_t _WDIR; - -_WDIR* __cdecl __MINGW_NOTHROW _wopendir (const wchar_t*); -struct _wdirent* __cdecl __MINGW_NOTHROW _wreaddir (_WDIR*); -int __cdecl __MINGW_NOTHROW _wclosedir (_WDIR*); -void __cdecl __MINGW_NOTHROW _wrewinddir (_WDIR*); -long __cdecl __MINGW_NOTHROW _wtelldir (_WDIR*); -void __cdecl __MINGW_NOTHROW _wseekdir (_WDIR*, long); - - -#ifdef __cplusplus -} -#endif - -#if defined(_BSD_SOURCE) || defined(_WIN32) -/* - * BSD-ish systems define manifest constants for the d_type field; - * although probably only DT_REG and DT_DIR are useful on Win32, we - * try to map them as best we can from the _finddata.attrib field. - * - * The relevant Microsoft manifest values are: - * - * _A_NORMAL (0x0000) normal file: best fit for DT_REG - * _A_RDONLY (0x0001) read-only: no BSD d_type equivalent - * _A_HIDDEN (0x0002) hidden entity: no BSD equivalent - * _A_SYSTEM (0x0004) system entity: no BSD equivalent - * _A_VOLID (0x0008) volume label: no BSD equivalent - * _A_SUBDIR (0x0010) directory: best fit for DT_DIR - * _A_ARCH (0x0020) "dirty": no BSD equivalent - * - * Thus, we may immediately define: - */ -#define DT_REG _A_NORMAL -#define DT_DIR _A_SUBDIR - -/* The remaining BSD d_type manifest values have no Win32 equivalents; - * we will define them artificially, and then we will ensure that our - * opendir()/readdir() implementation will never assign them; (we will - * substitute DT_UNKNOWN, but it would be unwise to simply make these - * equivalent to that, since an application is likely to simply check - * for d_type equal to any one of these defined types, and thus could - * mistakenly identify DT_UNKNOWN as being of the tested type): - */ -#define DT_BLK (((_A_SUBDIR) << 4) | DT_UNKNOWN) -#define DT_CHR (((_A_SUBDIR) << 5) | DT_UNKNOWN) -#define DT_FIFO (((_A_SUBDIR) << 6) | DT_UNKNOWN) -#define DT_LNK (((_A_SUBDIR) << 7) | DT_UNKNOWN) -#define DT_SOCK (((_A_SUBDIR) << 8) | DT_UNKNOWN) - -/* No file system entity can ever be simultaneously a volume label - * and a directory; we will exploit this to unambiguously define: - */ -#define DT_UNKNOWN (_A_VOLID | _A_SUBDIR) - -#endif /* _BSD_SOURCE */ -#endif /* ! RC_INVOKED */ - -#endif /* !defined _DIRENT_H_ */ diff --git a/winsup/mingw/include/dos.h b/winsup/mingw/include/dos.h deleted file mode 100644 index 80ba89e14..000000000 --- a/winsup/mingw/include/dos.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * dos.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * DOS-specific functions and structures. - * - */ - -#ifndef _DOS_H_ -#define _DOS_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#define __need_wchar_t -#ifndef RC_INVOKED -#include <stddef.h> -#endif /* Not RC_INVOKED */ - -/* For DOS file attributes */ -#include <io.h> - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __MSVCRT__ /* these are in CRTDLL, but not MSVCRT */ -#ifndef __DECLSPEC_SUPPORTED -extern unsigned int *_imp___basemajor_dll; -extern unsigned int *_imp___baseminor_dll; -extern unsigned int *_imp___baseversion_dll; -extern unsigned int *_imp___osmajor_dll; -extern unsigned int *_imp___osminor_dll; -extern unsigned int *_imp___osmode_dll; - -#define _basemajor (*_imp___basemajor_dll) -#define _baseminor (*_imp___baseminor_dll) -#define _baseversion (*_imp___baseversion_dll) -#define _osmajor (*_imp___osmajor_dll) -#define _osminor (*_imp___osminor_dll) -#define _osmode (*_imp___osmode_dll) - -#else /* __DECLSPEC_SUPPORTED */ - -__MINGW_IMPORT unsigned int _basemajor_dll; -__MINGW_IMPORT unsigned int _baseminor_dll; -__MINGW_IMPORT unsigned int _baseversion_dll; -__MINGW_IMPORT unsigned int _osmajor_dll; -__MINGW_IMPORT unsigned int _osminor_dll; -__MINGW_IMPORT unsigned int _osmode_dll; - -#define _basemajor _basemajor_dll -#define _baseminor _baseminor_dll -#define _baseversion _baseversion_dll -#define _osmajor _osmajor_dll -#define _osminor _osminor_dll -#define _osmode _osmode_dll - -#endif /* __DECLSPEC_SUPPORTED */ -#endif /* ! __MSVCRT__ */ - -#ifndef _DISKFREE_T_DEFINED -/* needed by _getdiskfree (also in direct.h) */ -struct _diskfree_t { - unsigned total_clusters; - unsigned avail_clusters; - unsigned sectors_per_cluster; - unsigned bytes_per_sector; -}; -#define _DISKFREE_T_DEFINED -#endif - -_CRTIMP unsigned __cdecl __MINGW_NOTHROW _getdiskfree (unsigned, struct _diskfree_t *); - -#ifndef _NO_OLDNAMES -# define diskfree_t _diskfree_t -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _DOS_H_ */ diff --git a/winsup/mingw/include/errno.h b/winsup/mingw/include/errno.h deleted file mode 100644 index 675b50674..000000000 --- a/winsup/mingw/include/errno.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - * errno.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Error numbers and access to error reporting. - * - */ - -#ifndef _ERRNO_H_ -#define _ERRNO_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -/* - * Error numbers. - * TODO: Can't be sure of some of these assignments, I guessed from the - * names given by strerror and the defines in the Cygnus errno.h. A lot - * of the names from the Cygnus errno.h are not represented, and a few - * of the descriptions returned by strerror do not obviously match - * their error naming. - */ -#define EPERM 1 /* Operation not permitted */ -#define ENOFILE 2 /* No such file or directory */ -#define ENOENT 2 -#define ESRCH 3 /* No such process */ -#define EINTR 4 /* Interrupted function call */ -#define EIO 5 /* Input/output error */ -#define ENXIO 6 /* No such device or address */ -#define E2BIG 7 /* Arg list too long */ -#define ENOEXEC 8 /* Exec format error */ -#define EBADF 9 /* Bad file descriptor */ -#define ECHILD 10 /* No child processes */ -#define EAGAIN 11 /* Resource temporarily unavailable */ -#define ENOMEM 12 /* Not enough space */ -#define EACCES 13 /* Permission denied */ -#define EFAULT 14 /* Bad address */ -/* 15 - Unknown Error */ -#define EBUSY 16 /* strerror reports "Resource device" */ -#define EEXIST 17 /* File exists */ -#define EXDEV 18 /* Improper link (cross-device link?) */ -#define ENODEV 19 /* No such device */ -#define ENOTDIR 20 /* Not a directory */ -#define EISDIR 21 /* Is a directory */ -#define EINVAL 22 /* Invalid argument */ -#define ENFILE 23 /* Too many open files in system */ -#define EMFILE 24 /* Too many open files */ -#define ENOTTY 25 /* Inappropriate I/O control operation */ -/* 26 - Unknown Error */ -#define EFBIG 27 /* File too large */ -#define ENOSPC 28 /* No space left on device */ -#define ESPIPE 29 /* Invalid seek (seek on a pipe?) */ -#define EROFS 30 /* Read-only file system */ -#define EMLINK 31 /* Too many links */ -#define EPIPE 32 /* Broken pipe */ -#define EDOM 33 /* Domain error (math functions) */ -#define ERANGE 34 /* Result too large (possibly too small) */ -/* 35 - Unknown Error */ -#define EDEADLOCK 36 /* Resource deadlock avoided (non-Cyg) */ -#define EDEADLK 36 -/* 37 - Unknown Error */ -#define ENAMETOOLONG 38 /* Filename too long (91 in Cyg?) */ -#define ENOLCK 39 /* No locks available (46 in Cyg?) */ -#define ENOSYS 40 /* Function not implemented (88 in Cyg?) */ -#define ENOTEMPTY 41 /* Directory not empty (90 in Cyg?) */ -#define EILSEQ 42 /* Illegal byte sequence */ - -/* - * NOTE: ENAMETOOLONG and ENOTEMPTY conflict with definitions in the - * sockets.h header provided with windows32api-0.1.2. - * You should go and put an #if 0 ... #endif around the whole block - * of errors (look at the comment above them). - */ - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Definitions of errno. For _doserrno, sys_nerr and * sys_errlist, see - * stdlib.h. - */ -#ifdef _UWIN -#undef errno -extern int errno; -#else -_CRTIMP int* __cdecl __MINGW_NOTHROW _errno(void); -#define errno (*_errno()) -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _ERRNO_H_ */ diff --git a/winsup/mingw/include/excpt.h b/winsup/mingw/include/excpt.h deleted file mode 100644 index 3919cb791..000000000 --- a/winsup/mingw/include/excpt.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * excpt.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Support for operating system level structured exception handling. - * - * NOTE: This is very preliminary stuff. I am also pretty sure it is - * completely Intel specific. - * - */ - -#ifndef _EXCPT_H_ -#define _EXCPT_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#include <windef.h> - -/* - * NOTE: The constants structs and typedefs below should be defined in the - * Win32 API headers. - */ -#define EH_NONCONTINUABLE 0x01 -#define EH_UNWINDING 0x02 -#define EH_EXIT_UNWIND 0x04 -#define EH_STACK_INVALID 0x08 -#define EH_NESTED_CALL 0x10 - -#ifndef RC_INVOKED - -typedef enum { - ExceptionContinueExecution, - ExceptionContinueSearch, - ExceptionNestedException, - ExceptionCollidedUnwind -} EXCEPTION_DISPOSITION; - - -/* - * End of stuff that should be in the Win32 API files. - */ - - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The type of function that is expected as an exception handler to be - * installed with __try1. - */ -typedef EXCEPTION_DISPOSITION (*PEXCEPTION_HANDLER) - (struct _EXCEPTION_RECORD*, void*, struct _CONTEXT*, void*); - -/* - * This is not entirely necessary, but it is the structure installed by - * the __try1 primitive below. - */ -typedef struct _EXCEPTION_REGISTRATION -{ - struct _EXCEPTION_REGISTRATION* prev; - PEXCEPTION_HANDLER handler; -} EXCEPTION_REGISTRATION, *PEXCEPTION_REGISTRATION; - -typedef EXCEPTION_REGISTRATION EXCEPTION_REGISTRATION_RECORD; -typedef PEXCEPTION_REGISTRATION PEXCEPTION_REGISTRATION_RECORD; - -/* - * A macro which installs the supplied exception handler. - * Push the pointer to the new handler onto the stack, - * then push the pointer to the old registration structure (at fs:0) - * onto the stack, then put a pointer to the new registration - * structure (i.e. the current stack pointer) at fs:0. - */ -#ifdef _WIN64 -# define __try1(pHandler) \ - __asm__ __volatile__ ("pushq %0;pushq %%gs:0;movq %%rsp,%%gs:0;" : : \ - "g" (pHandler)); -#else -# define __try1(pHandler) \ - __asm__ __volatile__ ("pushl %0;pushl %%fs:0;movl %%esp,%%fs:0;" : : \ - "g" (pHandler)); -#endif - -/* - * A macro which (despite its name) *removes* an installed - * exception handler. Should be used only in conjunction with the above - * install routine __try1. - * Move the pointer to the old reg. struct (at the current stack - * position) to fs:0, replacing the pointer we installed above, - * then add 8 to the stack pointer to get rid of the space we - * used when we pushed on our new reg. struct above. Notice that - * the stack must be in the exact state at this point that it was - * after we did __try1 or this will smash things. - */ -#ifdef _WIN64 -# define __except1 \ - __asm__ __volatile__ ("movq (%%rsp),%%rax;movq %%rax,%%gs:0;addq \ - $16,%%rsp;" : : : "%rax"); -#else -# define __except1 \ - __asm__ __volatile__ ("movl (%%esp),%%eax;movl %%eax,%%fs:0;addl \ - $8,%%esp;" : : : "%eax"); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* _EXCPT_H_ not defined */ diff --git a/winsup/mingw/include/fcntl.h b/winsup/mingw/include/fcntl.h deleted file mode 100644 index 9bff9352a..000000000 --- a/winsup/mingw/include/fcntl.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * fcntl.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Access constants for _open. Note that the permissions constants are - * in sys/stat.h (ick). - * - */ -#ifndef _FCNTL_H_ -#define _FCNTL_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -/* - * It appears that fcntl.h should include io.h for compatibility... - */ -#include <io.h> - -/* Specifiy one of these flags to define the access mode. */ -#define _O_RDONLY 0 -#define _O_WRONLY 1 -#define _O_RDWR 2 - -/* Mask for access mode bits in the _open flags. */ -#define _O_ACCMODE (_O_RDONLY|_O_WRONLY|_O_RDWR) - -#define _O_APPEND 0x0008 /* Writes will add to the end of the file. */ - -#define _O_RANDOM 0x0010 -#define _O_SEQUENTIAL 0x0020 -#define _O_TEMPORARY 0x0040 /* Make the file dissappear after closing. - * WARNING: Even if not created by _open! */ -#define _O_NOINHERIT 0x0080 - -#define _O_CREAT 0x0100 /* Create the file if it does not exist. */ -#define _O_TRUNC 0x0200 /* Truncate the file if it does exist. */ -#define _O_EXCL 0x0400 /* Open only if the file does not exist. */ - -#define _O_SHORT_LIVED 0x1000 - -/* NOTE: Text is the default even if the given _O_TEXT bit is not on. */ -#define _O_TEXT 0x4000 /* CR-LF in file becomes LF in memory. */ -#define _O_BINARY 0x8000 /* Input and output is not translated. */ -#define _O_RAW _O_BINARY - -#if (__MSVCRT_VERSION__ >= 0x0800) -#define _O_WTEXT 0x10000 -#define _O_U16TEXT 0x20000 -#define _O_U8TEXT 0x40000 -#endif - -#ifndef _NO_OLDNAMES - -/* POSIX/Non-ANSI names for increased portability */ -#define O_RDONLY _O_RDONLY -#define O_WRONLY _O_WRONLY -#define O_RDWR _O_RDWR -#define O_ACCMODE _O_ACCMODE -#define O_APPEND _O_APPEND -#define O_CREAT _O_CREAT -#define O_TRUNC _O_TRUNC -#define O_EXCL _O_EXCL -#define O_TEXT _O_TEXT -#define O_BINARY _O_BINARY -#define O_TEMPORARY _O_TEMPORARY -#define O_NOINHERIT _O_NOINHERIT -#define O_SEQUENTIAL _O_SEQUENTIAL -#define O_RANDOM _O_RANDOM - -#endif /* Not _NO_OLDNAMES */ - -#endif /* Not _FCNTL_H_ */ diff --git a/winsup/mingw/include/fenv.h b/winsup/mingw/include/fenv.h deleted file mode 100644 index ddae8921e..000000000 --- a/winsup/mingw/include/fenv.h +++ /dev/null @@ -1,107 +0,0 @@ -#ifndef _FENV_H_ -#define _FENV_H_ - -#include <_mingw.h> - -/* FPU status word exception flags */ -#define FE_INVALID 0x01 -#define FE_DENORMAL 0x02 -#define FE_DIVBYZERO 0x04 -#define FE_OVERFLOW 0x08 -#define FE_UNDERFLOW 0x10 -#define FE_INEXACT 0x20 -#define FE_ALL_EXCEPT (FE_INVALID | FE_DENORMAL | FE_DIVBYZERO \ - | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) - -/* FPU control word rounding flags */ -#define FE_TONEAREST 0x0000 -#define FE_DOWNWARD 0x0400 -#define FE_UPWARD 0x0800 -#define FE_TOWARDZERO 0x0c00 - -/* The MXCSR exception flags are the same as the - FE flags. */ -#define __MXCSR_EXCEPT_FLAG_SHIFT 0 - -/* How much to shift FE status word exception flags - to get the MXCSR exeptions masks, */ -#define __MXCSR_EXCEPT_MASK_SHIFT 7 - -/* How much to shift FE control word rounding flags - to get MXCSR rounding flags, */ -#define __MXCSR_ROUND_FLAG_SHIFT 3 - -#ifndef RC_INVOKED -/* - For now, support only for the basic abstraction of flags that are - either set or clear. fexcept_t could be structure that holds more - info about the fp environment. -*/ -typedef unsigned short fexcept_t; - -/* This 32-byte struct represents the entire floating point - environment as stored by fnstenv or fstenv, augmented by - the contents of the MXCSR register, as stored by stmxcsr - (if CPU supports it). */ -typedef struct -{ - unsigned short __control_word; - unsigned short __unused0; - unsigned short __status_word; - unsigned short __unused1; - unsigned short __tag_word; - unsigned short __unused2; - unsigned int __ip_offset; /* instruction pointer offset */ - unsigned short __ip_selector; - unsigned short __opcode; - unsigned int __data_offset; - unsigned short __data_selector; - unsigned short __unused3; - unsigned int __mxcsr; /* contents of the MXCSR register */ -} fenv_t; - - -/*The C99 standard (7.6.9) allows us to define implementation-specific macros for - different fp environments */ - -/* The default Intel x87 floating point environment (64-bit mantissa) */ -#define FE_PC64_ENV ((const fenv_t *)-1) - -/* The floating point environment set by MSVCRT _fpreset (53-bit mantissa) */ -#define FE_PC53_ENV ((const fenv_t *)-2) - -/* The FE_DFL_ENV macro is required by standard. - fesetenv will use the environment set at app startup.*/ -#define FE_DFL_ENV ((const fenv_t *) 0) - -#ifdef __cplusplus -extern "C" { -#endif - -/*TODO: Some of these could be inlined */ -/* 7.6.2 Exception */ - -extern int __cdecl __MINGW_NOTHROW feclearexcept (int); -extern int __cdecl __MINGW_NOTHROW fegetexceptflag (fexcept_t * flagp, int excepts); -extern int __cdecl __MINGW_NOTHROW feraiseexcept (int excepts ); -extern int __cdecl __MINGW_NOTHROW fesetexceptflag (const fexcept_t *, int); -extern int __cdecl __MINGW_NOTHROW fetestexcept (int excepts); - -/* 7.6.3 Rounding */ - -extern int __cdecl __MINGW_NOTHROW fegetround (void); -extern int __cdecl __MINGW_NOTHROW fesetround (int mode); - -/* 7.6.4 Environment */ - -extern int __cdecl __MINGW_NOTHROW fegetenv (fenv_t * envp); -extern int __cdecl __MINGW_NOTHROW fesetenv (const fenv_t * ); -extern int __cdecl __MINGW_NOTHROW feupdateenv (const fenv_t *); -extern int __cdecl __MINGW_NOTHROW feholdexcept (fenv_t *); - -#ifdef __cplusplus -} -#endif -#endif /* Not RC_INVOKED */ - -#endif /* ndef _FENV_H */ diff --git a/winsup/mingw/include/float.h b/winsup/mingw/include/float.h deleted file mode 100644 index 47017c9c7..000000000 --- a/winsup/mingw/include/float.h +++ /dev/null @@ -1,169 +0,0 @@ -#ifndef _MINGW_FLOAT_H_ -/* - * float.h - * - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Constants related to floating point arithmetic. - * - * Also included here are some non-ANSI bits for accessing the floating - * point controller. - * - */ -#define _MINGW_FLOAT_H_ -/* - * NOTE: - * - * GCC provides float.h, but it doesn't include the non-standard stuff for - * accessing the fp controller. We parse the GCC-supplied header, for its - * standard content, and then define the MS-specific extensions here. - * - * In a MinGW standard Win32 hosted environment, this should be the float.h - * found by a system include path search, but this can't be guaranteed; for - * a cross-compiler setup, the GCC-supplied header, which is guarded by the - * _FLOAT_H___ macro, may be found first, thus... - * - */ -#if !defined(_FLOAT_H___) && !defined(__FLOAT_H) - - /* - * ...when we didn't find the GCC-supplied header first, we want to pull - * it in now; include_next should achieve this, (and we must rely on the - * GCC header maintainers to extend us the same courtesy, to get this one - * pulled in, when the GCC-supplied header is found first). - * - */ -# include_next <float.h> -#endif - -/* All the headers include this file. */ -#include <_mingw.h> - -/* - * Functions and definitions for controlling the FPU. - */ -#ifndef __STRICT_ANSI__ - -/* TODO: These constants are only valid for x86 machines */ - -/* Control word masks for unMask */ -#define _MCW_EM 0x0008001F /* Error masks */ -#define _MCW_IC 0x00040000 /* Infinity */ -#define _MCW_RC 0x00000300 /* Rounding */ -#define _MCW_PC 0x00030000 /* Precision */ - -/* Control word values for unNew (use with related unMask above) */ -#define _EM_INVALID 0x00000010 -#define _EM_DENORMAL 0x00080000 -#define _EM_ZERODIVIDE 0x00000008 -#define _EM_OVERFLOW 0x00000004 -#define _EM_UNDERFLOW 0x00000002 -#define _EM_INEXACT 0x00000001 -#define _IC_AFFINE 0x00040000 -#define _IC_PROJECTIVE 0x00000000 -#define _RC_CHOP 0x00000300 -#define _RC_UP 0x00000200 -#define _RC_DOWN 0x00000100 -#define _RC_NEAR 0x00000000 -#define _PC_24 0x00020000 -#define _PC_53 0x00010000 -#define _PC_64 0x00000000 - -/* These are also defined in Mingw math.h, needed to work around - GCC build issues. */ -/* Return values for fpclass. */ -#ifndef __MINGW_FPCLASS_DEFINED -#define __MINGW_FPCLASS_DEFINED 1 -#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */ -#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */ -#define _FPCLASS_NINF 0x0004 /* Negative Infinity */ -#define _FPCLASS_NN 0x0008 /* Negative Normal */ -#define _FPCLASS_ND 0x0010 /* Negative Denormal */ -#define _FPCLASS_NZ 0x0020 /* Negative Zero */ -#define _FPCLASS_PZ 0x0040 /* Positive Zero */ -#define _FPCLASS_PD 0x0080 /* Positive Denormal */ -#define _FPCLASS_PN 0x0100 /* Positive Normal */ -#define _FPCLASS_PINF 0x0200 /* Positive Infinity */ -#endif /* __MINGW_FPCLASS_DEFINED */ - -/* invalid subconditions (_SW_INVALID also set) */ -#define _SW_UNEMULATED 0x0040 /* unemulated instruction */ -#define _SW_SQRTNEG 0x0080 /* square root of a neg number */ -#define _SW_STACKOVERFLOW 0x0200 /* FP stack overflow */ -#define _SW_STACKUNDERFLOW 0x0400 /* FP stack underflow */ - -/* Floating point error signals and return codes */ -#define _FPE_INVALID 0x81 -#define _FPE_DENORMAL 0x82 -#define _FPE_ZERODIVIDE 0x83 -#define _FPE_OVERFLOW 0x84 -#define _FPE_UNDERFLOW 0x85 -#define _FPE_INEXACT 0x86 -#define _FPE_UNEMULATED 0x87 -#define _FPE_SQRTNEG 0x88 -#define _FPE_STACKOVERFLOW 0x8a -#define _FPE_STACKUNDERFLOW 0x8b -#define _FPE_EXPLICITGEN 0x8c /* raise( SIGFPE ); */ - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -/* Set the FPU control word as cw = (cw & ~unMask) | (unNew & unMask), - * i.e. change the bits in unMask to have the values they have in unNew, - * leaving other bits unchanged. */ -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _controlfp (unsigned int unNew, unsigned int unMask); -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _control87 (unsigned int unNew, unsigned int unMask); - - -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _clearfp (void); /* Clear the FPU status word */ -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _statusfp (void); /* Report the FPU status word */ -#define _clear87 _clearfp -#define _status87 _statusfp - - -/* - MSVCRT.dll _fpreset initializes the control register to 0x27f, - the status register to zero and the tag word to 0FFFFh. - This differs from asm instruction finit/fninit which set control - word to 0x37f (64 bit mantissa precison rather than 53 bit). - By default, the mingw version of _fpreset sets fp control as - per fninit. To use the MSVCRT.dll _fpreset, include CRT_fp8.o when - building your application. -*/ -void __cdecl __MINGW_NOTHROW _fpreset (void); -void __cdecl __MINGW_NOTHROW fpreset (void); - -/* Global 'variable' for the current floating point error code. */ -_CRTIMP int * __cdecl __MINGW_NOTHROW __fpecode(void); -#define _fpecode (*(__fpecode())) - -/* - * IEEE recommended functions. MS puts them in float.h - * but they really belong in math.h. - */ - -_CRTIMP double __cdecl __MINGW_NOTHROW _chgsign (double); -_CRTIMP double __cdecl __MINGW_NOTHROW _copysign (double, double); -_CRTIMP double __cdecl __MINGW_NOTHROW _logb (double); -_CRTIMP double __cdecl __MINGW_NOTHROW _nextafter (double, double); -_CRTIMP double __cdecl __MINGW_NOTHROW _scalb (double, long); - -_CRTIMP int __cdecl __MINGW_NOTHROW _finite (double); -_CRTIMP int __cdecl __MINGW_NOTHROW _fpclass (double); -_CRTIMP int __cdecl __MINGW_NOTHROW _isnan (double); - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not __STRICT_ANSI__ */ - -#endif /* _MINGW_FLOAT_H_ */ - diff --git a/winsup/mingw/include/getopt.h b/winsup/mingw/include/getopt.h deleted file mode 100644 index a57d3f0de..000000000 --- a/winsup/mingw/include/getopt.h +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef __GETOPT_H__ -/* - * getopt.h - * - * $Id$ - * - * Defines constants and function prototypes required to implement - * the `getopt', `getopt_long' and `getopt_long_only' APIs. - * - * This file is part of the MinGW32 package set. - * - * Contributed by Keith Marshall <keithmarshall@users.sourceforge.net> - * - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision$ - * $Author$ - * $Date$ - * - */ -#define __GETOPT_H__ - -/* All the headers include this file. */ -#include <_mingw.h> - -#ifdef __cplusplus -extern "C" { -#endif - -extern int optind; /* index of first non-option in argv */ -extern int optopt; /* single option character, as parsed */ -extern int opterr; /* flag to enable built-in diagnostics... */ - /* (user may set to zero, to suppress) */ - -extern char *optarg; /* pointer to argument of current option */ - -extern int getopt( int, char * const [], const char * ); - -#ifdef _BSD_SOURCE -/* - * BSD adds the non-standard `optreset' feature, for reinitialisation - * of `getopt' parsing. We support this feature, for applications which - * proclaim their BSD heritage, before including this header; however, - * to maintain portability, developers are advised to avoid it. - */ -# define optreset __mingw_optreset - -extern int optreset; -#endif -#ifdef __cplusplus -} -#endif -/* - * POSIX requires the `getopt' API to be specified in `unistd.h'; - * thus, `unistd.h' includes this header. However, we do not want - * to expose the `getopt_long' or `getopt_long_only' APIs, when - * included in this manner. Thus, close the standard __GETOPT_H__ - * declarations block, and open an additional __GETOPT_LONG_H__ - * specific block, only when *not* __UNISTD_H_SOURCED__, in which - * to declare the extended API. - */ -#endif /* !defined(__GETOPT_H__) */ -#if !defined(__UNISTD_H_SOURCED__) && !defined(__GETOPT_LONG_H__) -#define __GETOPT_LONG_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -struct option /* specification for a long form option... */ -{ - const char *name; /* option name, without leading hyphens */ - int has_arg; /* does it take an argument? */ - int *flag; /* where to save its status, or NULL */ - int val; /* its associated status value */ -}; - -enum /* permitted values for its `has_arg' field... */ -{ - no_argument = 0, /* option never takes an argument */ - required_argument, /* option always requires an argument */ - optional_argument /* option may take an argument */ -}; - -extern int getopt_long( int, char * const [], const char *, const struct option *, int * ); -extern int getopt_long_only( int, char * const [], const char *, const struct option *, int * ); -/* - * Previous MinGW implementation had... - */ -#ifndef HAVE_DECL_GETOPT -/* - * ...for the long form API only; keep this for compatibility. - */ -# define HAVE_DECL_GETOPT 1 -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* !defined(__UNISTD_H_SOURCED__) && !defined(__GETOPT_LONG_H__) */ -/* $RCSfile$Revision$: end of file */ diff --git a/winsup/mingw/include/inttypes.h b/winsup/mingw/include/inttypes.h deleted file mode 100644 index e13040634..000000000 --- a/winsup/mingw/include/inttypes.h +++ /dev/null @@ -1,298 +0,0 @@ -/* 7.8 Format conversion of integer types <inttypes.h> */ - -#ifndef _INTTYPES_H_ -#define _INTTYPES_H_ - -#include <_mingw.h> -#include <stdint.h> -#define __need_wchar_t -#include <stddef.h> - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct { - intmax_t quot; - intmax_t rem; - } imaxdiv_t; - -#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) - -/* 7.8.1 Macros for format specifiers - * - * MS runtime does not yet understand C9x standard "ll" - * length specifier. It appears to treat "ll" as "l". - * The non-standard I64 length specifier causes warning in GCC, - * but understood by MS runtime functions. - */ - -/* fprintf macros for signed types */ -#define PRId8 "d" -#define PRId16 "d" -#define PRId32 "d" -#define PRId64 "I64d" - -#define PRIdLEAST8 "d" -#define PRIdLEAST16 "d" -#define PRIdLEAST32 "d" -#define PRIdLEAST64 "I64d" - -#define PRIdFAST8 "d" -#define PRIdFAST16 "d" -#define PRIdFAST32 "d" -#define PRIdFAST64 "I64d" - -#define PRIdMAX "I64d" - -#define PRIi8 "i" -#define PRIi16 "i" -#define PRIi32 "i" -#define PRIi64 "I64i" - -#define PRIiLEAST8 "i" -#define PRIiLEAST16 "i" -#define PRIiLEAST32 "i" -#define PRIiLEAST64 "I64i" - -#define PRIiFAST8 "i" -#define PRIiFAST16 "i" -#define PRIiFAST32 "i" -#define PRIiFAST64 "I64i" - -#define PRIiMAX "I64i" - -#define PRIo8 "o" -#define PRIo16 "o" -#define PRIo32 "o" -#define PRIo64 "I64o" - -#define PRIoLEAST8 "o" -#define PRIoLEAST16 "o" -#define PRIoLEAST32 "o" -#define PRIoLEAST64 "I64o" - -#define PRIoFAST8 "o" -#define PRIoFAST16 "o" -#define PRIoFAST32 "o" -#define PRIoFAST64 "I64o" - -#define PRIoMAX "I64o" - -/* fprintf macros for unsigned types */ -#define PRIu8 "u" -#define PRIu16 "u" -#define PRIu32 "u" -#define PRIu64 "I64u" - - -#define PRIuLEAST8 "u" -#define PRIuLEAST16 "u" -#define PRIuLEAST32 "u" -#define PRIuLEAST64 "I64u" - -#define PRIuFAST8 "u" -#define PRIuFAST16 "u" -#define PRIuFAST32 "u" -#define PRIuFAST64 "I64u" - -#define PRIuMAX "I64u" - -#define PRIx8 "x" -#define PRIx16 "x" -#define PRIx32 "x" -#define PRIx64 "I64x" - -#define PRIxLEAST8 "x" -#define PRIxLEAST16 "x" -#define PRIxLEAST32 "x" -#define PRIxLEAST64 "I64x" - -#define PRIxFAST8 "x" -#define PRIxFAST16 "x" -#define PRIxFAST32 "x" -#define PRIxFAST64 "I64x" - -#define PRIxMAX "I64x" - -#define PRIX8 "X" -#define PRIX16 "X" -#define PRIX32 "X" -#define PRIX64 "I64X" - -#define PRIXLEAST8 "X" -#define PRIXLEAST16 "X" -#define PRIXLEAST32 "X" -#define PRIXLEAST64 "I64X" - -#define PRIXFAST8 "X" -#define PRIXFAST16 "X" -#define PRIXFAST32 "X" -#define PRIXFAST64 "I64X" - -#define PRIXMAX "I64X" - -#ifdef _WIN64 -#define PRIdPTR "I64d" -#define PRIiPTR "I64i" -#define PRIoPTR "I64o" -#define PRIuPTR "I64u" -#define PRIxPTR "I64x" -#define PRIXPTR "I64X" -#else -#define PRIdPTR "d" -#define PRIiPTR "i" -#define PRIoPTR "o" -#define PRIuPTR "u" -#define PRIxPTR "x" -#define PRIXPTR "X" -#endif - -/* - * fscanf macros for signed int types - * NOTE: if 32-bit int is used for int_fast8_t and int_fast16_t - * (see stdint.h, 7.18.1.3), FAST8 and FAST16 should have - * no length identifiers - */ - -#define SCNd16 "hd" -#define SCNd32 "d" -#define SCNd64 "I64d" - -#define SCNdLEAST16 "hd" -#define SCNdLEAST32 "d" -#define SCNdLEAST64 "I64d" - -#define SCNdFAST16 "hd" -#define SCNdFAST32 "d" -#define SCNdFAST64 "I64d" - -#define SCNdMAX "I64d" - -#define SCNi16 "hi" -#define SCNi32 "i" -#define SCNi64 "I64i" - -#define SCNiLEAST16 "hi" -#define SCNiLEAST32 "i" -#define SCNiLEAST64 "I64i" - -#define SCNiFAST16 "hi" -#define SCNiFAST32 "i" -#define SCNiFAST64 "I64i" - -#define SCNiMAX "I64i" - -#define SCNo16 "ho" -#define SCNo32 "o" -#define SCNo64 "I64o" - -#define SCNoLEAST16 "ho" -#define SCNoLEAST32 "o" -#define SCNoLEAST64 "I64o" - -#define SCNoFAST16 "ho" -#define SCNoFAST32 "o" -#define SCNoFAST64 "I64o" - -#define SCNoMAX "I64o" - -#define SCNx16 "hx" -#define SCNx32 "x" -#define SCNx64 "I64x" - -#define SCNxLEAST16 "hx" -#define SCNxLEAST32 "x" -#define SCNxLEAST64 "I64x" - -#define SCNxFAST16 "hx" -#define SCNxFAST32 "x" -#define SCNxFAST64 "I64x" - -#define SCNxMAX "I64x" - -/* fscanf macros for unsigned int types */ - -#define SCNu16 "hu" -#define SCNu32 "u" -#define SCNu64 "I64u" - -#define SCNuLEAST16 "hu" -#define SCNuLEAST32 "u" -#define SCNuLEAST64 "I64u" - -#define SCNuFAST16 "hu" -#define SCNuFAST32 "u" -#define SCNuFAST64 "I64u" - -#define SCNuMAX "I64u" - -#ifdef _WIN64 -#define SCNdPTR "I64d" -#define SCNiPTR "I64i" -#define SCNoPTR "I64o" -#define SCNxPTR "I64x" -#define SCNuPTR "I64u" -#else -#define SCNdPTR "d" -#define SCNiPTR "i" -#define SCNoPTR "o" -#define SCNxPTR "x" -#define SCNuPTR "u" -#endif - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -/* - * no length modifier for char types prior to C9x - * MS runtime scanf appears to treat "hh" as "h" - */ - -/* signed char */ -#define SCNd8 "hhd" -#define SCNdLEAST8 "hhd" -#define SCNdFAST8 "hhd" - -#define SCNi8 "hhi" -#define SCNiLEAST8 "hhi" -#define SCNiFAST8 "hhi" - -#define SCNo8 "hho" -#define SCNoLEAST8 "hho" -#define SCNoFAST8 "hho" - -#define SCNx8 "hhx" -#define SCNxLEAST8 "hhx" -#define SCNxFAST8 "hhx" - -/* unsigned char */ -#define SCNu8 "hhu" -#define SCNuLEAST8 "hhu" -#define SCNuFAST8 "hhu" -#endif /* __STDC_VERSION__ >= 199901 */ - -#endif /* !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) */ - -intmax_t __cdecl __MINGW_NOTHROW imaxabs (intmax_t j); -#ifndef __NO_INLINE__ -__CRT_INLINE intmax_t __cdecl __MINGW_NOTHROW imaxabs (intmax_t j) - {return (j >= 0 ? j : -j);} -#endif -imaxdiv_t __cdecl __MINGW_NOTHROW imaxdiv (intmax_t numer, intmax_t denom); - -/* 7.8.2 Conversion functions for greatest-width integer types */ - -intmax_t __cdecl __MINGW_NOTHROW strtoimax (const char* __restrict__ nptr, - char** __restrict__ endptr, int base); -uintmax_t __cdecl __MINGW_NOTHROW strtoumax (const char* __restrict__ nptr, - char** __restrict__ endptr, int base); - -intmax_t __cdecl __MINGW_NOTHROW wcstoimax (const wchar_t* __restrict__ nptr, - wchar_t** __restrict__ endptr, int base); -uintmax_t __cdecl __MINGW_NOTHROW wcstoumax (const wchar_t* __restrict__ nptr, - wchar_t** __restrict__ endptr, int base); - -#ifdef __cplusplus -} -#endif - -#endif /* ndef _INTTYPES_H */ diff --git a/winsup/mingw/include/io.h b/winsup/mingw/include/io.h deleted file mode 100644 index 259e5088a..000000000 --- a/winsup/mingw/include/io.h +++ /dev/null @@ -1,492 +0,0 @@ -/* - * io.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * System level I/O functions and types. - * - */ -#ifndef _IO_H_ -#define _IO_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -/* MSVC's io.h contains the stuff from dir.h, so I will too. - * NOTE: This also defines off_t, the file offset type, through - * an inclusion of sys/types.h */ - -#include <sys/types.h> /* To get time_t. */ - -/* - * Attributes of files as returned by _findfirst et al. - */ -#define _A_NORMAL 0x00000000 -#define _A_RDONLY 0x00000001 -#define _A_HIDDEN 0x00000002 -#define _A_SYSTEM 0x00000004 -#define _A_VOLID 0x00000008 -#define _A_SUBDIR 0x00000010 -#define _A_ARCH 0x00000020 - - -#ifndef RC_INVOKED - -#ifndef _INTPTR_T_DEFINED -#define _INTPTR_T_DEFINED -#ifdef _WIN64 - typedef __int64 intptr_t; -#else - typedef int intptr_t; -#endif -#endif - -#ifndef _FSIZE_T_DEFINED -typedef unsigned long _fsize_t; -#define _FSIZE_T_DEFINED -#endif - -/* - * The maximum length of a file name. You should use GetVolumeInformation - * instead of this constant. But hey, this works. - * Also defined in stdio.h. - */ -#ifndef FILENAME_MAX -#define FILENAME_MAX (260) -#endif - -/* - * The following structure is filled in by _findfirst or _findnext when - * they succeed in finding a match. - */ -struct _finddata_t -{ - unsigned attrib; /* Attributes, see constants above. */ - time_t time_create; - time_t time_access; /* always midnight local time */ - time_t time_write; - _fsize_t size; - char name[FILENAME_MAX]; /* may include spaces. */ -}; - -struct _finddatai64_t { - unsigned attrib; - time_t time_create; - time_t time_access; - time_t time_write; - __int64 size; - char name[FILENAME_MAX]; -}; - -#if __MSVCRT_VERSION__ >= 0x0601 -struct __finddata64_t { - unsigned attrib; - __time64_t time_create; - __time64_t time_access; - __time64_t time_write; -/* 8 bytes are returned so it can't be _fsize_t */ - __int64 size; - char name[FILENAME_MAX]; -}; -#endif - -#if __MSVCRT_VERSION__ >= 0x0800 -struct _finddata32_t { - unsigned attrib; - __time32_t time_create; - __time32_t time_access; - __time32_t time_write; - __int32 size; - char name[FILENAME_MAX]; -}; - -struct _finddata32i64_t { - unsigned attrib; - __time32_t time_create; - __time32_t time_access; - __time32_t time_write; - __int64 size; - char name[FILENAME_MAX]; -}; - -struct _finddata64i32_t { - unsigned attrib; - __time64_t time_create; - __time64_t time_access; - __time64_t time_write; - __int32 size; - char name[FILENAME_MAX]; -}; -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ - - -#ifndef _WFINDDATA_T_DEFINED -struct _wfinddata_t { - unsigned attrib; - time_t time_create; /* -1 for FAT file systems */ - time_t time_access; /* -1 for FAT file systems */ - time_t time_write; - _fsize_t size; - wchar_t name[FILENAME_MAX]; /* may include spaces. */ -}; - -struct _wfinddatai64_t { - unsigned attrib; - time_t time_create; - time_t time_access; - time_t time_write; - __int64 size; - wchar_t name[FILENAME_MAX]; -}; - -#if __MSVCRT_VERSION__ >= 0x0601 -struct __wfinddata64_t { - unsigned attrib; - __time64_t time_create; - __time64_t time_access; - __time64_t time_write; -/* 8 bytes are returned so it can't be _fsize_t */ - __int64 size; - wchar_t name[FILENAME_MAX]; -}; -#endif - -#if __MSVCRT_VERSION__ >= 0x0800 -struct __wfinddata32_t { - unsigned attrib; - __time32_t time_create; - __time32_t time_access; - __time32_t time_write; - __int32 size; - wchar_t name[FILENAME_MAX]; -}; - -struct _wfinddata32i64_t { - unsigned attrib; - __time32_t time_create; - __time32_t time_access; - __time32_t time_write; - __int64 size; - wchar_t name[FILENAME_MAX]; -}; - -struct _wfinddata64i32_t { - unsigned attrib; - __time64_t time_create; - __time64_t time_access; - __time64_t time_write; - __int32 size; - wchar_t name[FILENAME_MAX]; -}; -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ - - -#define _WFINDDATA_T_DEFINED -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Functions for searching for files. _findfirst returns -1 if no match - * is found. Otherwise it returns a handle to be used in _findnext and - * _findclose calls. _findnext also returns -1 if no match could be found, - * and 0 if a match was found. Call _findclose when you are finished. - */ -#if __MSVCRT_VERSION__ >= 0x0800 -/* -intptr_t _findfirst (const char *filespec,struct _finddata_t *fileinfo); -intptr_t _findfirst32 (const char *filespec,struct _finddata32_t *fileinfo); -intptr_t _findfirst64 (const char *filespec,struct __finddata64_t *fileinfo); -intptr_t _findfirsti64 (const char *filespec,struct _finddatai64_t *fileinfo); -intptr_t _findfirst32i64 (const char *filespec,struct _finddata32i64_t *fileinfo); -intptr_t _findfirst64i32 (const char *filespec,struct _finddata64i32_t *fileinfo); - -intptr_t _wfindfirst (const wchar_t *filespec,struct _wfinddata_t *fileinfo); -intptr_t _wfindfirst32 (const wchar_t *filespec,struct __wfinddata32_t *fileinfo); -intptr_t _wfindfirst64 (const wchar_t *filespec, struct __wfinddata64_t *fileinfo); -intptr_t _wfindfirsti64 (const wchar_t *filespec, struct _wfinddatai64_t *fileinfo); -intptr_t _wfindfirst32i64(const wchar_t *filespec, struct _wfinddata32i64_t *fileinfo); -intptr_t _wfindfirst64i32(const wchar_t *filespec, struct _wfinddata64i32_t *fileinfo); - -Time Type and File Length Type Variations of _findfirst: -Functions _USE_32BIT_TIME_T defined? Time type File length type -_findfirst, Not defined 64-bit 32-bit -_wfindfirst -_findfirst, Defined 32-bit 32-bit -_wfindfirst - -_findfirst32, Not affected by the macro 32-bit 32-bit -_wfindfirst32 definition - -_findfirst64, Not affected by the macro 64-bit 64-bit -_wfindfirst64 definition - -_findfirsti64, Not defined 64-bit 64-bit -_wfindfirsti64 -_findfirsti64, Defined 32-bit 64-bit -_wfindfirsti64 - -_findfirst32i64, Not affected by the macro 32-bit 64-bit -_wfindfirst32i64 definition - -_findfirst64i32, Not affected by the macro 64-bit 32-bit -_wfindfirst64i32 definition -*/ -#endif -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _findfirst (const char*, struct _finddata_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _findnext (intptr_t, struct _finddata_t*); -#endif /* __MSVCRT_VERSION__ < 0x0800 */ -_CRTIMP int __cdecl __MINGW_NOTHROW _findclose (intptr_t); -#if __MSVCRT_VERSION__ >= 0x0800 -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _findfirst32 (const char*, struct _finddata32_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _findnext32 (intptr_t, struct _finddata32_t*); -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ - -_CRTIMP int __cdecl __MINGW_NOTHROW _chdir (const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _getcwd (char*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _mkdir (const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _mktemp (char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _rmdir (const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _chmod (const char*, int); -#ifdef __MSVCRT__ -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _filelengthi64(int); -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _findfirsti64(const char*, struct _finddatai64_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _findnexti64(intptr_t, struct _finddatai64_t*); -#else -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _findfirst32i64 (const char*, struct _finddata32i64_t*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _findfirst64i32 (const char*, struct _finddata64i32_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _findnext32i64 (intptr_t, struct _finddata32i64_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _findnext64i32 (intptr_t, struct _finddata64i32_t*); -#endif /* __MSVCRT_VERSION__ < 0x0800 */ -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _lseeki64(int, __int64, int); -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _telli64(int); -/* These require newer versions of msvcrt.dll (6.1 or higher). */ -#if __MSVCRT_VERSION__ >= 0x0601 -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _findfirst64(const char*, struct __finddata64_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _findnext64(intptr_t, struct __finddata64_t*); -#endif /* __MSVCRT_VERSION__ >= 0x0601 */ -#if __MSVCRT_VERSION__ >= 0x0800 -#ifndef _USE_32BIT_TIME_T -_CRTALIAS intptr_t __cdecl __MINGW_NOTHROW _findfirst (const char* _v1, struct _finddata_t* _v2) { return(_findfirst64i32 (_v1,(struct _finddata64i32_t*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _findnext (intptr_t _v1, struct _finddata_t* _v2) { return(_findnext64i32 (_v1,(struct _finddata64i32_t*)_v2)); } -_CRTALIAS intptr_t __cdecl __MINGW_NOTHROW _findfirsti64 (const char* _v1, struct _finddatai64_t* _v2) { return(_findfirst64 (_v1,(struct __finddata64_t*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _findnexti64 (intptr_t _v1, struct _finddatai64_t* _v2) { return(_findnext64 (_v1,(struct __finddata64_t*)_v2)); } -#else -_CRTALIAS intptr_t __cdecl __MINGW_NOTHROW _findfirst (const char* _v1, struct _finddata_t* _v2) { return(_findfirst32 (_v1,(struct _finddata32_t*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _findnext (intptr_t _v1, struct _finddata_t* _v2) { return(_findnext32 (_v1,(struct _finddata32_t*)_v2)); } -_CRTALIAS intptr_t __cdecl __MINGW_NOTHROW _findfirsti64 (const char* _v1, struct _finddatai64_t* _v2) { return(_findfirst32i64 (_v1,(struct _finddata32i64_t*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _findnexti64 (intptr_t _v1, struct _finddatai64_t* _v2) { return(_findnext32i64 (_v1,(struct _finddata32i64_t*)_v2)); } -#endif /* !_USE_32BIT_TIME_T */ -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ -#ifndef __NO_MINGW_LFS -__CRT_INLINE off64_t lseek64 (int, off64_t, int); -__CRT_INLINE off64_t lseek64 (int fd, off64_t offset, int whence) -{ - return _lseeki64(fd, (__int64) offset, whence); -} -#endif - -#endif /* __MSVCRT__ */ - -#ifndef _NO_OLDNAMES - -#ifndef _UWIN -_CRTIMP int __cdecl __MINGW_NOTHROW chdir (const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW getcwd (char*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW mkdir (const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW mktemp (char*); -_CRTIMP int __cdecl __MINGW_NOTHROW rmdir (const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW chmod (const char*, int); -#endif /* _UWIN */ - -#endif /* Not _NO_OLDNAMES */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -/* TODO: Maximum number of open handles has not been tested, I just set - * it the same as FOPEN_MAX. */ -#define HANDLE_MAX FOPEN_MAX - -/* Some defines for _access nAccessMode (MS doesn't define them, but - * it doesn't seem to hurt to add them). */ -#define F_OK 0 /* Check for file existence */ -/* Well maybe it does hurt. On newer versions of MSVCRT, an access mode - of 1 causes invalid parameter error. */ -#define X_OK 1 /* MS access() doesn't check for execute permission. */ -#define W_OK 2 /* Check for write permission */ -#define R_OK 4 /* Check for read permission */ - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -_CRTIMP int __cdecl __MINGW_NOTHROW _access (const char*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _chsize (int, long); -_CRTIMP int __cdecl __MINGW_NOTHROW _close (int); -_CRTIMP int __cdecl __MINGW_NOTHROW _commit(int); - -/* NOTE: The only significant bit in unPermissions appears to be bit 7 (0x80), - * the "owner write permission" bit (on FAT). */ -_CRTIMP int __cdecl __MINGW_NOTHROW _creat (const char*, int); - -_CRTIMP int __cdecl __MINGW_NOTHROW _dup (int); -_CRTIMP int __cdecl __MINGW_NOTHROW _dup2 (int, int); -_CRTIMP long __cdecl __MINGW_NOTHROW _filelength (int); -_CRTIMP long __cdecl __MINGW_NOTHROW _get_osfhandle (int); -_CRTIMP int __cdecl __MINGW_NOTHROW _isatty (int); - -/* In a very odd turn of events this function is excluded from those - * files which define _STREAM_COMPAT. This is required in order to - * build GNU libio because of a conflict with _eof in streambuf.h - * line 107. Actually I might just be able to change the name of - * the enum member in streambuf.h... we'll see. TODO */ -#ifndef _STREAM_COMPAT -_CRTIMP int __cdecl __MINGW_NOTHROW _eof (int); -#endif - -/* LK_... locking commands defined in sys/locking.h. */ -_CRTIMP int __cdecl __MINGW_NOTHROW _locking (int, int, long); - -_CRTIMP long __cdecl __MINGW_NOTHROW _lseek (int, long, int); - -/* Optional third argument is unsigned unPermissions. */ -_CRTIMP int __cdecl __MINGW_NOTHROW _open (const char*, int, ...); - -_CRTIMP int __cdecl __MINGW_NOTHROW _open_osfhandle (intptr_t, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _pipe (int *, unsigned int, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _read (int, void*, unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _setmode (int, int); -/* MS puts remove & rename (but not wide versions) in io.h as well - as in stdio.h. */ -_CRTIMP int __cdecl __MINGW_NOTHROW remove (const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW rename (const char*, const char*); - -/* SH_... flags for nShFlags defined in share.h - * Optional fourth argument is unsigned unPermissions */ -_CRTIMP int __cdecl __MINGW_NOTHROW _sopen (const char*, int, int, ...); - -_CRTIMP long __cdecl __MINGW_NOTHROW _tell (int); -/* Should umask be in sys/stat.h and/or sys/types.h instead? */ -_CRTIMP int __cdecl __MINGW_NOTHROW _umask (int); -_CRTIMP int __cdecl __MINGW_NOTHROW _unlink (const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _write (int, const void*, unsigned int); - -/* Wide character versions. Also declared in wchar.h. */ -/* Not in crtdll.dll */ -#if !defined (_WIO_DEFINED) -#if defined (__MSVCRT__) -_CRTIMP int __cdecl __MINGW_NOTHROW _waccess(const wchar_t*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _wchmod(const wchar_t*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcreat(const wchar_t*, int); -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirst(const wchar_t*, struct _wfinddata_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext(intptr_t, struct _wfinddata_t *); -#else -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirst32 (const wchar_t*, struct __wfinddata32_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext32 (intptr_t, struct __wfinddata32_t*); -#endif /* __MSVCRT_VERSION__ < 0x0800 */ -_CRTIMP int __cdecl __MINGW_NOTHROW _wunlink(const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wopen(const wchar_t*, int, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW _wsopen(const wchar_t*, int, int, ...); -_CRTIMP wchar_t * __cdecl __MINGW_NOTHROW _wmktemp(wchar_t*); -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnexti64(intptr_t, struct _wfinddatai64_t*); -#else -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirst32i64 (const wchar_t*, struct _wfinddata32i64_t*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirst64i32 (const wchar_t*, struct _wfinddata64i32_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext32i64 (intptr_t, struct _wfinddata32i64_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext64i32 (intptr_t, struct _wfinddata64i32_t*); -#endif /* __MSVCRT_VERSION__ < 0x0800 */ -#if __MSVCRT_VERSION__ >= 0x0601 -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirst64(const wchar_t*, struct __wfinddata64_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext64(intptr_t, struct __wfinddata64_t*); -#endif -#if __MSVCRT_VERSION__ >= 0x0800 -#ifndef _USE_32BIT_TIME_T -_CRTALIAS intptr_t __cdecl __MINGW_NOTHROW _wfindfirst (const wchar_t* _v1, struct _wfinddata_t* _v2) { return(_wfindfirst64i32 (_v1,(struct _wfinddata64i32_t*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnext (intptr_t _v1, struct _wfinddata_t* _v2) { return(_wfindnext64i32 (_v1,(struct _wfinddata64i32_t*)_v2)); } -_CRTALIAS intptr_t __cdecl __MINGW_NOTHROW _wfindfirsti64 (const wchar_t* _v1, struct _wfinddatai64_t* _v2) { return(_wfindfirst64 (_v1,(struct __wfinddata64_t*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnexti64 (intptr_t _v1, struct _wfinddatai64_t* _v2) { return(_wfindnext64 (_v1,(struct __wfinddata64_t*)_v2)); } -#else -_CRTALIAS intptr_t __cdecl __MINGW_NOTHROW _wfindfirst (const wchar_t* _v1, struct _wfinddata_t* _v2) { return(_wfindfirst32 (_v1,(struct __wfinddata32_t*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnext (intptr_t _v1, struct _wfinddata_t* _v2) { return(_wfindnext32 (_v1,(struct __wfinddata32_t*)_v2)); } -_CRTALIAS intptr_t __cdecl __MINGW_NOTHROW _wfindfirsti64 (const wchar_t* _v1, struct _wfinddatai64_t* _v2) { return(_wfindfirst32i64 (_v1,(struct _wfinddata32i64_t*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnexti64 (intptr_t _v1, struct _wfinddatai64_t* _v2) { return(_wfindnext32i64 (_v1,(struct _wfinddata32i64_t*)_v2)); } -#endif /* !_USE_32BIT_TIME_T */ -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ -#endif /* defined (__MSVCRT__) */ -#define _WIO_DEFINED -#endif /* _WIO_DEFINED */ - -#ifndef _NO_OLDNAMES -/* - * Non-underscored versions of non-ANSI functions to improve portability. - * These functions live in libmoldname.a. - */ - -#ifndef _UWIN -_CRTIMP int __cdecl __MINGW_NOTHROW access (const char*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW chsize (int, long ); -_CRTIMP int __cdecl __MINGW_NOTHROW close (int); -_CRTIMP int __cdecl __MINGW_NOTHROW creat (const char*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW dup (int); -_CRTIMP int __cdecl __MINGW_NOTHROW dup2 (int, int); -_CRTIMP int __cdecl __MINGW_NOTHROW eof (int); -_CRTIMP long __cdecl __MINGW_NOTHROW filelength (int); -_CRTIMP int __cdecl __MINGW_NOTHROW isatty (int); -_CRTIMP long __cdecl __MINGW_NOTHROW lseek (int, long, int); -_CRTIMP int __cdecl __MINGW_NOTHROW open (const char*, int, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW read (int, void*, unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW setmode (int, int); -_CRTIMP int __cdecl __MINGW_NOTHROW sopen (const char*, int, int, ...); -_CRTIMP long __cdecl __MINGW_NOTHROW tell (int); -_CRTIMP int __cdecl __MINGW_NOTHROW umask (int); -_CRTIMP int __cdecl __MINGW_NOTHROW unlink (const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW write (int, const void*, unsigned int); -#endif /* _UWIN */ - -#ifdef __USE_MINGW_ACCESS -/* Old versions of MSVCRT access() just ignored X_OK, while the version - shipped with Vista, returns an error code. This will restore the - old behaviour */ -static inline int __mingw_access (const char* __fname, int __mode) - { return _access (__fname, __mode & ~X_OK); } -#define access(__f,__m) __mingw_access (__f, __m) -#endif - -/* Wide character versions. Also declared in wchar.h. */ -/* Where do these live? Not in libmoldname.a nor in libmsvcrt.a */ -#if 0 -int waccess(const wchar_t *, int); -int wchmod(const wchar_t *, int); -int wcreat(const wchar_t *, int); -intptr_t wfindfirst(wchar_t *, struct _wfinddata_t *); -int wfindnext(intptr_t, struct _wfinddata_t *); -int wunlink(const wchar_t *); -int wrename(const wchar_t *, const wchar_t *); -int wopen(const wchar_t *, int, ...); -int wsopen(const wchar_t *, int, int, ...); -wchar_t * wmktemp(wchar_t *); -#endif - -#endif /* Not _NO_OLDNAMES */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* _IO_H_ not defined */ diff --git a/winsup/mingw/include/libgen.h b/winsup/mingw/include/libgen.h deleted file mode 100755 index ff661a619..000000000 --- a/winsup/mingw/include/libgen.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef _LIBGEN_H_ -/* - * libgen.h - * - * $Id$ - * - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Functions for splitting pathnames into dirname and basename components. - * - */ -#define _LIBGEN_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#ifdef __cplusplus -extern "C" { -#endif - -extern __cdecl __MINGW_NOTHROW char *basename (char *); -extern __cdecl __MINGW_NOTHROW char *dirname (char *); - -#ifdef __cplusplus -} -#endif - -#endif /* _LIBGEN_H_: end of file */ - diff --git a/winsup/mingw/include/limits.h b/winsup/mingw/include/limits.h deleted file mode 100644 index ca4900610..000000000 --- a/winsup/mingw/include/limits.h +++ /dev/null @@ -1,115 +0,0 @@ -/* - * limits.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Functions for manipulating paths and directories (included from io.h) - * plus functions for setting the current drive. - * - * Defines constants for the sizes of integral types. - * - * NOTE: GCC should supply a version of this header and it should be safe to - * use that version instead of this one (maybe safer). - * - */ - -#ifndef _LIMITS_H_ -#define _LIMITS_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -/* - * File system limits - * - * TODO: NAME_MAX and OPEN_MAX are file system limits or not? Are they the - * same as FILENAME_MAX and FOPEN_MAX from stdio.h? - * NOTE: PATH_MAX is the POSIX equivalent for Microsoft's MAX_PATH; the two - * are semantically identical, with a limit of 259 characters for the - * path name, plus one for a terminating NUL, for a total of 260. - */ -#ifndef __STRICT_ANSI__ -# define PATH_MAX 260 -#endif - -/* - * Characteristics of the char data type. - * - * TODO: Is MB_LEN_MAX correct? - */ -#define CHAR_BIT 8 -#define MB_LEN_MAX 2 - -#define SCHAR_MIN (-128) -#define SCHAR_MAX 127 - -#define UCHAR_MAX 255 - -/* TODO: Is this safe? I think it might just be testing the preprocessor, - * not the compiler itself... */ -#if ('\x80' < 0) -#define CHAR_MIN SCHAR_MIN -#define CHAR_MAX SCHAR_MAX -#else -#define CHAR_MIN 0 -#define CHAR_MAX UCHAR_MAX -#endif - -/* - * Maximum and minimum values for ints. - */ -#define INT_MAX 2147483647 -#define INT_MIN (-INT_MAX-1) - -#define UINT_MAX 0xffffffff - -/* - * Maximum and minimum values for shorts. - */ -#define SHRT_MAX 32767 -#define SHRT_MIN (-SHRT_MAX-1) - -#define USHRT_MAX 0xffff - -/* - * Maximum and minimum values for longs and unsigned longs. - * - * TODO: This is not correct for Alphas, which have 64 bit longs. - */ -#define LONG_MAX 2147483647L -#define LONG_MIN (-LONG_MAX-1) - -#define ULONG_MAX 0xffffffffUL - -#ifndef __STRICT_ANSI__ -/* POSIX wants this. */ -#define SSIZE_MAX LONG_MAX -#endif - -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \ - || !defined(__STRICT_ANSI__) -/* ISO C9x macro names */ -#define LLONG_MAX 9223372036854775807LL -#define LLONG_MIN (-LLONG_MAX - 1) -#define ULLONG_MAX (2ULL * LLONG_MAX + 1) -#endif - -/* - * The GNU C compiler also allows 'long long int' - */ -#if !defined(__STRICT_ANSI__) && defined(__GNUC__) - -#define LONG_LONG_MAX 9223372036854775807LL -#define LONG_LONG_MIN (-LONG_LONG_MAX-1) -#define ULONG_LONG_MAX (2ULL * LONG_LONG_MAX + 1) - -/* MSVC compatibility */ -#define _I64_MIN LONG_LONG_MIN -#define _I64_MAX LONG_LONG_MAX -#define _UI64_MAX ULONG_LONG_MAX - -#endif /* Not Strict ANSI and GNU C compiler */ - - -#endif /* not _LIMITS_H_ */ diff --git a/winsup/mingw/include/locale.h b/winsup/mingw/include/locale.h deleted file mode 100644 index ee26db326..000000000 --- a/winsup/mingw/include/locale.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * locale.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Functions and types for localization (ie. changing the appearance of - * output based on the standards of a certain country). - * - */ - -#ifndef _LOCALE_H_ -#define _LOCALE_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -/* - * NOTE: I have tried to test this, but I am limited by my knowledge of - * locale issues. The structure does not bomb if you look at the - * values, and 'decimal_point' even seems to be correct. But the - * rest of the values are, by default, not particularly useful - * (read meaningless and not related to the international settings - * of the system). - */ - -#define LC_ALL 0 -#define LC_COLLATE 1 -#define LC_CTYPE 2 -#define LC_MONETARY 3 -#define LC_NUMERIC 4 -#define LC_TIME 5 -#define LC_MIN LC_ALL -#define LC_MAX LC_TIME - -#ifndef RC_INVOKED - -/* According to C89 std, NULL is defined in locale.h too. */ -#define __need_NULL -#include <stddef.h> - -/* - * The structure returned by 'localeconv'. - */ -struct lconv -{ - char* decimal_point; - char* thousands_sep; - char* grouping; - char* int_curr_symbol; - char* currency_symbol; - char* mon_decimal_point; - char* mon_thousands_sep; - char* mon_grouping; - char* positive_sign; - char* negative_sign; - char int_frac_digits; - char frac_digits; - char p_cs_precedes; - char p_sep_by_space; - char n_cs_precedes; - char n_sep_by_space; - char p_sign_posn; - char n_sign_posn; -}; - -#ifdef __cplusplus -extern "C" { -#endif - -_CRTIMP char* __cdecl __MINGW_NOTHROW setlocale (int, const char*); -_CRTIMP struct lconv* __cdecl __MINGW_NOTHROW localeconv (void); - -#ifndef _WLOCALE_DEFINED /* also declared in wchar.h */ -# define __need_wchar_t -# include <stddef.h> - _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wsetlocale(int, const wchar_t*); -# define _WLOCALE_DEFINED -#endif /* ndef _WLOCALE_DEFINED */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _LOCALE_H_ */ - diff --git a/winsup/mingw/include/malloc.h b/winsup/mingw/include/malloc.h deleted file mode 100644 index 5931b5e42..000000000 --- a/winsup/mingw/include/malloc.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * malloc.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Support for programs which want to use malloc.h to get memory management - * functions. Unless you absolutely need some of these functions and they are - * not in the ANSI headers you should use the ANSI standard header files - * instead. - * - */ - -#ifndef _MALLOC_H_ -#define _MALLOC_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#include <stdlib.h> - -#ifndef RC_INVOKED - -/* - * The structure used to walk through the heap with _heapwalk. - */ -typedef struct _heapinfo -{ - int* _pentry; - size_t _size; - int _useflag; -} _HEAPINFO; - -/* Values for _heapinfo.useflag */ -#define _FREEENTRY 0 -#define _USEDENTRY 1 - -/* Return codes for _heapwalk() */ -#define _HEAPEMPTY (-1) -#define _HEAPOK (-2) -#define _HEAPBADBEGIN (-3) -#define _HEAPBADNODE (-4) -#define _HEAPEND (-5) -#define _HEAPBADPTR (-6) - -/* maximum size of a user request for memory */ -#define _HEAP_MAXREQ 0xFFFFFFE0 - -#ifdef __cplusplus -extern "C" { -#endif -/* - The _heap* memory allocation functions are supported on NT - but not W9x. On latter, they always set errno to ENOSYS. -*/ -_CRTIMP int __cdecl __MINGW_NOTHROW _heapwalk (_HEAPINFO*); -#ifdef __GNUC__ -#define _alloca(x) __builtin_alloca((x)) -#endif - -#ifndef _NO_OLDNAMES -_CRTIMP int __cdecl __MINGW_NOTHROW heapwalk (_HEAPINFO*); -#ifdef __GNUC__ -#define alloca(x) __builtin_alloca((x)) -#endif -#endif /* Not _NO_OLDNAMES */ - -_CRTIMP int __cdecl __MINGW_NOTHROW _heapchk (void); /* Verify heap integrety. */ -_CRTIMP int __cdecl __MINGW_NOTHROW _heapmin (void); /* Return unused heap to the OS. */ -_CRTIMP int __cdecl __MINGW_NOTHROW _heapset (unsigned int); - -_CRTIMP size_t __cdecl __MINGW_NOTHROW _msize (void*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW _get_sbh_threshold (void); -_CRTIMP int __cdecl __MINGW_NOTHROW _set_sbh_threshold (size_t); -_CRTIMP void* __cdecl __MINGW_NOTHROW _expand (void*, size_t); - -/* These require msvcr70.dll or higher. */ -#if __MSVCRT_VERSION__ >= 0x0700 -_CRTIMP void * __cdecl __MINGW_NOTHROW _aligned_offset_malloc(size_t, size_t, size_t); -_CRTIMP void * __cdecl __MINGW_NOTHROW _aligned_offset_realloc(void*, size_t, size_t, size_t); -_CRTIMP void * __cdecl __MINGW_NOTHROW _aligned_offset_recalloc(void*, size_t, size_t, size_t, size_t); - -_CRTIMP void * __cdecl __MINGW_NOTHROW _aligned_malloc (size_t, size_t); -_CRTIMP void * __cdecl __MINGW_NOTHROW _aligned_realloc (void*, size_t, size_t); -_CRTIMP void* __cdecl __MINGW_NOTHROW _aligned_recalloc(void*, size_t, size_t, size_t); -_CRTIMP void __cdecl __MINGW_NOTHROW _aligned_free (void*); -#endif /* __MSVCRT_VERSION__ >= 0x0700 */ - -/* These require libmingwex.a. */ -void * __cdecl __MINGW_NOTHROW __mingw_aligned_offset_malloc (size_t, size_t, size_t); -void * __cdecl __MINGW_NOTHROW __mingw_aligned_offset_realloc (void*, size_t, size_t, size_t); - -void * __cdecl __MINGW_NOTHROW __mingw_aligned_malloc (size_t, size_t); -void * __cdecl __MINGW_NOTHROW __mingw_aligned_realloc (void*, size_t, size_t); -void __cdecl __MINGW_NOTHROW __mingw_aligned_free (void*); - -#ifdef __cplusplus -} -#endif - -#endif /* RC_INVOKED */ - -#endif /* Not _MALLOC_H_ */ diff --git a/winsup/mingw/include/math.h b/winsup/mingw/include/math.h deleted file mode 100644 index c31bfe50b..000000000 --- a/winsup/mingw/include/math.h +++ /dev/null @@ -1,915 +0,0 @@ -/* - * math.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Mathematical functions. - * - */ - - -#ifndef _MATH_H_ -#define _MATH_H_ - -#if __GNUC__ >= 3 -#pragma GCC system_header -#endif - -/* All the headers include this file. */ -#include <_mingw.h> - -/* - * Types for the _exception structure. - */ - -#define _DOMAIN 1 /* domain error in argument */ -#define _SING 2 /* singularity */ -#define _OVERFLOW 3 /* range overflow */ -#define _UNDERFLOW 4 /* range underflow */ -#define _TLOSS 5 /* total loss of precision */ -#define _PLOSS 6 /* partial loss of precision */ - -/* - * Exception types with non-ANSI names for compatibility. - */ - -#ifndef __STRICT_ANSI__ -#ifndef _NO_OLDNAMES - -#define DOMAIN _DOMAIN -#define SING _SING -#define OVERFLOW _OVERFLOW -#define UNDERFLOW _UNDERFLOW -#define TLOSS _TLOSS -#define PLOSS _PLOSS - -#endif /* Not _NO_OLDNAMES */ -#endif /* Not __STRICT_ANSI__ */ - - -/* Traditional/XOPEN math constants (double precison) */ -#ifndef __STRICT_ANSI__ -#define M_E 2.7182818284590452354 -#define M_LOG2E 1.4426950408889634074 -#define M_LOG10E 0.43429448190325182765 -#define M_LN2 0.69314718055994530942 -#define M_LN10 2.30258509299404568402 -#define M_PI 3.14159265358979323846 -#define M_PI_2 1.57079632679489661923 -#define M_PI_4 0.78539816339744830962 -#define M_1_PI 0.31830988618379067154 -#define M_2_PI 0.63661977236758134308 -#define M_2_SQRTPI 1.12837916709551257390 -#define M_SQRT2 1.41421356237309504880 -#define M_SQRT1_2 0.70710678118654752440 -#endif - -/* These are also defined in Mingw float.h; needed here as well to work - around GCC build issues. */ -#ifndef __STRICT_ANSI__ -#ifndef __MINGW_FPCLASS_DEFINED -#define __MINGW_FPCLASS_DEFINED 1 -/* IEEE 754 classication */ -#define _FPCLASS_SNAN 0x0001 /* Signaling "Not a Number" */ -#define _FPCLASS_QNAN 0x0002 /* Quiet "Not a Number" */ -#define _FPCLASS_NINF 0x0004 /* Negative Infinity */ -#define _FPCLASS_NN 0x0008 /* Negative Normal */ -#define _FPCLASS_ND 0x0010 /* Negative Denormal */ -#define _FPCLASS_NZ 0x0020 /* Negative Zero */ -#define _FPCLASS_PZ 0x0040 /* Positive Zero */ -#define _FPCLASS_PD 0x0080 /* Positive Denormal */ -#define _FPCLASS_PN 0x0100 /* Positive Normal */ -#define _FPCLASS_PINF 0x0200 /* Positive Infinity */ -#endif /* __MINGW_FPCLASS_DEFINED */ -#endif /* Not __STRICT_ANSI__ */ - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * HUGE_VAL is returned by strtod when the value would overflow the - * representation of 'double'. There are other uses as well. - * - * __imp__HUGE is a pointer to the actual variable _HUGE in - * MSVCRT.DLL. If we used _HUGE directly we would get a pointer - * to a thunk function. - * - * NOTE: The CRTDLL version uses _HUGE_dll instead. - */ - -#if __MINGW_GNUC_PREREQ(3, 3) -#define HUGE_VAL __builtin_huge_val() -#else - -#ifndef __DECLSPEC_SUPPORTED - -#ifdef __MSVCRT__ -extern double* _imp___HUGE; -#define HUGE_VAL (*_imp___HUGE) -#else -/* CRTDLL */ -extern double* _imp___HUGE_dll; -#define HUGE_VAL (*_imp___HUGE_dll) -#endif - -#else /* __DECLSPEC_SUPPORTED */ - -#ifdef __MSVCRT__ -__MINGW_IMPORT double _HUGE; -#define HUGE_VAL _HUGE -#else -/* CRTDLL */ -__MINGW_IMPORT double _HUGE_dll; -#define HUGE_VAL _HUGE_dll -#endif - -#endif /* __DECLSPEC_SUPPORTED */ -#endif /* __MINGW_GNUC_PREREQ(3, 3) */ - - -struct _exception -{ - int type; - char *name; - double arg1; - double arg2; - double retval; -}; - -_CRTIMP double __cdecl sin (double); -_CRTIMP double __cdecl cos (double); -_CRTIMP double __cdecl tan (double); -_CRTIMP double __cdecl sinh (double); -_CRTIMP double __cdecl cosh (double); -_CRTIMP double __cdecl tanh (double); -_CRTIMP double __cdecl asin (double); -_CRTIMP double __cdecl acos (double); -_CRTIMP double __cdecl atan (double); -_CRTIMP double __cdecl atan2 (double, double); -_CRTIMP double __cdecl exp (double); -_CRTIMP double __cdecl log (double); -_CRTIMP double __cdecl log10 (double); -_CRTIMP double __cdecl pow (double, double); -_CRTIMP double __cdecl sqrt (double); -_CRTIMP double __cdecl ceil (double); -_CRTIMP double __cdecl floor (double); -_CRTIMP double __cdecl fabs (double); -_CRTIMP double __cdecl ldexp (double, int); -_CRTIMP double __cdecl frexp (double, int*); -_CRTIMP double __cdecl modf (double, double*); -_CRTIMP double __cdecl fmod (double, double); - -/* Excess precision when using a 64-bit mantissa for FPU math ops can - cause unexpected results with some of the MSVCRT math functions. For - example, unless the function return value is stored (truncating to - 53-bit mantissa), calls to pow with both x and y as integral values - sometimes produce a non-integral result. - One workaround is to reset the FPU env to 53-bit mantissa - by a call to fesetenv (FE_PC53_ENV). Amother is to force storage - of the return value of individual math functions using wrappers. - NB, using these wrappers will disable builtin math functions and - hence disable the folding of function results at compile time when - arguments are constant. */ - -#if 0 -#define __DEFINE_FLOAT_STORE_MATHFN_D1(fn1) \ -static __inline__ double \ -__float_store_ ## fn1 (double x) \ -{ \ - __volatile__ double res = (fn1) (x); \ - return res; \ -} - -#define __DEFINE_FLOAT_STORE_MATHFN_D2(fn2) \ -static __inline__ double \ -__float_store_ ## fn2 (double x, double y) \ -{ \ - __volatile__ double res = (fn2) (x, y); \ - return res; \ -} -#endif - -/* For example, here is how to force the result of the pow function - to be stored: */ -#if 0 -#undef pow -/* Define the ___float_store_pow function and use it instead of pow(). */ -__DEFINE_FLOAT_STORE_MATHFN_D2 (pow) -#define pow __float_store_pow -#endif - -#ifndef __STRICT_ANSI__ - -/* Complex number (for _cabs). This is the MS version. The ISO - C99 counterpart _Complex is an intrinsic type in GCC and - 'complex' is defined as a macro. See complex.h */ -struct _complex -{ - double x; /* Real part */ - double y; /* Imaginary part */ -}; - -_CRTIMP double __cdecl _cabs (struct _complex); - -_CRTIMP double __cdecl _hypot (double, double); -_CRTIMP double __cdecl _j0 (double); -_CRTIMP double __cdecl _j1 (double); -_CRTIMP double __cdecl _jn (int, double); -_CRTIMP double __cdecl _y0 (double); -_CRTIMP double __cdecl _y1 (double); -_CRTIMP double __cdecl _yn (int, double); -_CRTIMP int __cdecl _matherr (struct _exception *); - -/* These are also declared in Mingw float.h; needed here as well to work - around GCC build issues. */ -/* BEGIN FLOAT.H COPY */ -/* - * IEEE recommended functions - */ - -_CRTIMP double __cdecl _chgsign (double); -_CRTIMP double __cdecl _copysign (double, double); -_CRTIMP double __cdecl _logb (double); -_CRTIMP double __cdecl _nextafter (double, double); -_CRTIMP double __cdecl _scalb (double, long); - -_CRTIMP int __cdecl _finite (double); -_CRTIMP int __cdecl _fpclass (double); -_CRTIMP int __cdecl _isnan (double); - -/* END FLOAT.H COPY */ - - -/* - * Non-underscored versions of non-ANSI functions. - * These reside in liboldnames.a. - */ - -#if !defined (_NO_OLDNAMES) - -_CRTIMP double __cdecl j0 (double); -_CRTIMP double __cdecl j1 (double); -_CRTIMP double __cdecl jn (int, double); -_CRTIMP double __cdecl y0 (double); -_CRTIMP double __cdecl y1 (double); -_CRTIMP double __cdecl yn (int, double); - -_CRTIMP double __cdecl chgsign (double); -/* - * scalb() is a GCC built-in. - * Exclude this _scalb() stub; the semantics are incompatible - * with the built-in implementation. - * -_CRTIMP double __cdecl scalb (double, long); - * - */ -_CRTIMP int __cdecl finite (double); -_CRTIMP int __cdecl fpclass (double); - -#define FP_SNAN _FPCLASS_SNAN -#define FP_QNAN _FPCLASS_QNAN -#define FP_NINF _FPCLASS_NINF -#define FP_PINF _FPCLASS_PINF -#define FP_NDENORM _FPCLASS_ND -#define FP_PDENORM _FPCLASS_PD -#define FP_NZERO _FPCLASS_NZ -#define FP_PZERO _FPCLASS_PZ -#define FP_NNORM _FPCLASS_NN -#define FP_PNORM _FPCLASS_PN - -#endif /* Not _NO_OLDNAMES */ - -/* This require msvcr70.dll or higher. */ -#if __MSVCRT_VERSION__ >= 0x0700 -_CRTIMP int __cdecl _set_SSE2_enable (int); -#endif /* __MSVCRT_VERSION__ >= 0x0700 */ - - -#endif /* __STRICT_ANSI__ */ - - -#ifndef __NO_ISOCEXT -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \ - || !defined __STRICT_ANSI__ || defined __cplusplus - -#if __MINGW_GNUC_PREREQ(3, 3) -#define HUGE_VALF __builtin_huge_valf() -#define HUGE_VALL __builtin_huge_vall() -#define INFINITY __builtin_inf() -#define NAN __builtin_nan("") -#else -extern const float __INFF; -#define HUGE_VALF __INFF -extern const long double __INFL; -#define HUGE_VALL __INFL -#define INFINITY HUGE_VALF -extern const double __QNAN; -#define NAN __QNAN -#endif /* __MINGW_GNUC_PREREQ(3, 3) */ - -/* Use the compiler's builtin define for FLT_EVAL_METHOD to - set float_t and double_t. */ -#if defined(__FLT_EVAL_METHOD__) -# if ( __FLT_EVAL_METHOD__== 0) -typedef float float_t; -typedef double double_t; -# elif (__FLT_EVAL_METHOD__ == 1) -typedef double float_t; -typedef double double_t; -# elif (__FLT_EVAL_METHOD__ == 2) -typedef long double float_t; -typedef long double double_t; -#endif -#else /* ix87 FPU default */ -typedef long double float_t; -typedef long double double_t; -#endif - -/* 7.12.3.1 */ -/* - Return values for fpclassify. - These are based on Intel x87 fpu condition codes - in the high byte of status word and differ from - the return values for MS IEEE 754 extension _fpclass() -*/ -#define FP_NAN 0x0100 -#define FP_NORMAL 0x0400 -#define FP_INFINITE (FP_NAN | FP_NORMAL) -#define FP_ZERO 0x4000 -#define FP_SUBNORMAL (FP_NORMAL | FP_ZERO) -/* 0x0200 is signbit mask */ - - -/* - We can't inline float or double, because we want to ensure truncation - to semantic type before classification. - (A normal long double value might become subnormal when - converted to double, and zero when converted to float.) -*/ - -extern int __cdecl __fpclassifyf (float); -extern int __cdecl __fpclassify (double); -extern int __cdecl __fpclassifyl (long double); - -#ifndef __NO_INLINE__ -__CRT_INLINE int __cdecl __fpclassifyl (long double x){ - unsigned short sw; - __asm__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x)); - return sw & (FP_NAN | FP_NORMAL | FP_ZERO ); -} -#endif - -#define fpclassify(x) (sizeof (x) == sizeof (float) ? __fpclassifyf (x) \ - : sizeof (x) == sizeof (double) ? __fpclassify (x) \ - : __fpclassifyl (x)) - -/* 7.12.3.2 */ -#define isfinite(x) ((fpclassify(x) & FP_NAN) == 0) - -/* 7.12.3.3 */ -#define isinf(x) (fpclassify(x) == FP_INFINITE) - -/* 7.12.3.4 */ -/* We don't need to worry about truncation here: - A NaN stays a NaN. */ -extern int __cdecl __isnan (double); -extern int __cdecl __isnanf (float); -extern int __cdecl __isnanl (long double); -#ifndef __NO_INLINE__ -__CRT_INLINE int __cdecl __isnan (double _x) -{ - unsigned short sw; - __asm__ ("fxam;" - "fstsw %%ax": "=a" (sw) : "t" (_x)); - return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL)) - == FP_NAN; -} - -__CRT_INLINE int __cdecl __isnanf (float _x) -{ - unsigned short sw; - __asm__ ("fxam;" - "fstsw %%ax": "=a" (sw) : "t" (_x)); - return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL)) - == FP_NAN; -} - -__CRT_INLINE int __cdecl __isnanl (long double _x) -{ - unsigned short sw; - __asm__ ("fxam;" - "fstsw %%ax": "=a" (sw) : "t" (_x)); - return (sw & (FP_NAN | FP_NORMAL | FP_INFINITE | FP_ZERO | FP_SUBNORMAL)) - == FP_NAN; -} -#endif - -#define isnan(x) (sizeof (x) == sizeof (float) ? __isnanf (x) \ - : sizeof (x) == sizeof (double) ? __isnan (x) \ - : __isnanl (x)) - -/* 7.12.3.5 */ -#define isnormal(x) (fpclassify(x) == FP_NORMAL) - -/* 7.12.3.6 The signbit macro */ -extern int __cdecl __signbit (double); -extern int __cdecl __signbitf (float); -extern int __cdecl __signbitl (long double); -#ifndef __NO_INLINE__ -__CRT_INLINE int __cdecl __signbit (double x) { - unsigned short stw; - __asm__ ( "fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); - return (stw & 0x0200) != 0; -} - -__CRT_INLINE int __cdecl __signbitf (float x) { - unsigned short stw; - __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); - return (stw & 0x0200) != 0; -} - -__CRT_INLINE int __cdecl __signbitl (long double x) { - unsigned short stw; - __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); - return (stw & 0x0200) != 0; -} -#endif - -#define signbit(x) (sizeof (x) == sizeof (float) ? __signbitf (x) \ - : sizeof (x) == sizeof (double) ? __signbit (x) \ - : __signbitl (x)) - -/* 7.12.4 Trigonometric functions: Double in C89 */ -extern float __cdecl sinf (float); -extern long double __cdecl sinl (long double); - -extern float __cdecl cosf (float); -extern long double __cdecl cosl (long double); - -extern float __cdecl tanf (float); -extern long double __cdecl tanl (long double); - -extern float __cdecl asinf (float); -extern long double __cdecl asinl (long double); - -extern float __cdecl acosf (float); -extern long double __cdecl acosl (long double); - -extern float __cdecl atanf (float); -extern long double __cdecl atanl (long double); - -extern float __cdecl atan2f (float, float); -extern long double __cdecl atan2l (long double, long double); - -/* 7.12.5 Hyperbolic functions: Double in C89 */ -extern float __cdecl sinhf (float); -#ifndef __NO_INLINE__ -__CRT_INLINE float __cdecl sinhf (float x) - {return (float) sinh (x);} -#endif -extern long double __cdecl sinhl (long double); - -extern float __cdecl coshf (float); -#ifndef __NO_INLINE__ -__CRT_INLINE float __cdecl coshf (float x) - {return (float) cosh (x);} -#endif -extern long double __cdecl coshl (long double); - -extern float __cdecl tanhf (float); -#ifndef __NO_INLINE__ -__CRT_INLINE float __cdecl tanhf (float x) - {return (float) tanh (x);} -#endif -extern long double __cdecl tanhl (long double); - -/* Inverse hyperbolic trig functions */ -/* 7.12.5.1 */ -extern double __cdecl acosh (double); -extern float __cdecl acoshf (float); -extern long double __cdecl acoshl (long double); - -/* 7.12.5.2 */ -extern double __cdecl asinh (double); -extern float __cdecl asinhf (float); -extern long double __cdecl asinhl (long double); - -/* 7.12.5.3 */ -extern double __cdecl atanh (double); -extern float __cdecl atanhf (float); -extern long double __cdecl atanhl (long double); - -/* Exponentials and logarithms */ -/* 7.12.6.1 Double in C89 */ -extern float __cdecl expf (float); -#ifndef __NO_INLINE__ -__CRT_INLINE float __cdecl expf (float x) - {return (float) exp (x);} -#endif -extern long double __cdecl expl (long double); - -/* 7.12.6.2 */ -extern double __cdecl exp2(double); -extern float __cdecl exp2f(float); -extern long double __cdecl exp2l(long double); - -/* 7.12.6.3 The expm1 functions */ -/* TODO: These could be inlined */ -extern double __cdecl expm1(double); -extern float __cdecl expm1f(float); -extern long double __cdecl expm1l(long double); - -/* 7.12.6.4 Double in C89 */ -extern float __cdecl frexpf (float, int*); -#ifndef __NO_INLINE__ -__CRT_INLINE float __cdecl frexpf (float x, int* expn) - {return (float) frexp (x, expn);} -#endif -extern long double __cdecl frexpl (long double, int*); - -/* 7.12.6.5 */ -#define FP_ILOGB0 ((int)0x80000000) -#define FP_ILOGBNAN ((int)0x80000000) -extern int __cdecl ilogb (double); -extern int __cdecl ilogbf (float); -extern int __cdecl ilogbl (long double); - -/* 7.12.6.6 Double in C89 */ -extern float __cdecl ldexpf (float, int); -#ifndef __NO_INLINE__ -__CRT_INLINE float __cdecl ldexpf (float x, int expn) - {return (float) ldexp (x, expn);} -#endif -extern long double __cdecl ldexpl (long double, int); - -/* 7.12.6.7 Double in C89 */ -extern float __cdecl logf (float); -extern long double __cdecl logl (long double); - -/* 7.12.6.8 Double in C89 */ -extern float __cdecl log10f (float); -extern long double __cdecl log10l (long double); - -/* 7.12.6.9 */ -extern double __cdecl log1p(double); -extern float __cdecl log1pf(float); -extern long double __cdecl log1pl(long double); - -/* 7.12.6.10 */ -extern double __cdecl log2 (double); -extern float __cdecl log2f (float); -extern long double __cdecl log2l (long double); - -/* 7.12.6.11 */ -extern double __cdecl logb (double); -extern float __cdecl logbf (float); -extern long double __cdecl logbl (long double); - -/* Inline versions. GCC-4.0+ can do a better fast-math optimization - with __builtins. */ -#ifndef __NO_INLINE__ -#if !(__MINGW_GNUC_PREREQ (4, 0) && defined __FAST_MATH__ ) -__CRT_INLINE double __cdecl logb (double x) -{ - double res; - __asm__ ("fxtract\n\t" - "fstp %%st" : "=t" (res) : "0" (x)); - return res; -} - -__CRT_INLINE float __cdecl logbf (float x) -{ - float res; - __asm__ ("fxtract\n\t" - "fstp %%st" : "=t" (res) : "0" (x)); - return res; -} - -__CRT_INLINE long double __cdecl logbl (long double x) -{ - long double res; - __asm__ ("fxtract\n\t" - "fstp %%st" : "=t" (res) : "0" (x)); - return res; -} -#endif /* !defined __FAST_MATH__ || !__MINGW_GNUC_PREREQ (4, 0) */ -#endif /* !defined __NO_INLINE__ */ - -/* 7.12.6.12 Double in C89 */ -extern float __cdecl modff (float, float*); -extern long double __cdecl modfl (long double, long double*); - -/* 7.12.6.13 */ -extern double __cdecl scalbn (double, int); -extern float __cdecl scalbnf (float, int); -extern long double __cdecl scalbnl (long double, int); - -extern double __cdecl scalbln (double, long); -extern float __cdecl scalblnf (float, long); -extern long double __cdecl scalblnl (long double, long); - -/* 7.12.7.1 */ -/* Implementations adapted from Cephes versions */ -extern double __cdecl cbrt (double); -extern float __cdecl cbrtf (float); -extern long double __cdecl cbrtl (long double); - -/* 7.12.7.2 The fabs functions: Double in C89 */ -extern float __cdecl fabsf (float x); -extern long double __cdecl fabsl (long double x); - -/* 7.12.7.3 */ -extern double __cdecl hypot (double, double); /* in libmoldname.a */ -extern float __cdecl hypotf (float, float); -#ifndef __NO_INLINE__ -__CRT_INLINE float __cdecl hypotf (float x, float y) - { return (float) hypot (x, y);} -#endif -extern long double __cdecl hypotl (long double, long double); - -/* 7.12.7.4 The pow functions. Double in C89 */ -extern float __cdecl powf (float, float); -#ifndef __NO_INLINE__ -__CRT_INLINE float __cdecl powf (float x, float y) - {return (float) pow (x, y);} -#endif -extern long double __cdecl powl (long double, long double); - -/* 7.12.7.5 The sqrt functions. Double in C89. */ -extern float __cdecl sqrtf (float); -extern long double __cdecl sqrtl (long double); - -/* 7.12.8.1 The erf functions */ -extern double __cdecl erf (double); -extern float __cdecl erff (float); -extern long double __cdecl erfl (long double); - -/* 7.12.8.2 The erfc functions */ -extern double __cdecl erfc (double); -extern float __cdecl erfcf (float); -extern long double __cdecl erfcl (long double); - -/* 7.12.8.3 The lgamma functions */ -extern double __cdecl lgamma (double); -extern float __cdecl lgammaf (float); -extern long double __cdecl lgammal (long double); - -/* 7.12.8.4 The tgamma functions */ -extern double __cdecl tgamma (double); -extern float __cdecl tgammaf (float); -extern long double __cdecl tgammal (long double); - -/* 7.12.9.1 Double in C89 */ -extern float __cdecl ceilf (float); -extern long double __cdecl ceill (long double); - -/* 7.12.9.2 Double in C89 */ -extern float __cdecl floorf (float); -extern long double __cdecl floorl (long double); - -/* 7.12.9.3 */ -extern double __cdecl nearbyint ( double); -extern float __cdecl nearbyintf (float); -extern long double __cdecl nearbyintl (long double); - -/* 7.12.9.4 */ -/* round, using fpu control word settings */ -extern double __cdecl rint (double); -extern float __cdecl rintf (float); -extern long double __cdecl rintl (long double); - -/* 7.12.9.5 */ -extern long __cdecl lrint (double); -extern long __cdecl lrintf (float); -extern long __cdecl lrintl (long double); - -extern long long __cdecl llrint (double); -extern long long __cdecl llrintf (float); -extern long long __cdecl llrintl (long double); - -/* Inline versions of above. - GCC 4.0+ can do a better fast-math job with __builtins. */ -#ifndef __NO_INLINE__ -#if !(__MINGW_GNUC_PREREQ (4, 0) && defined __FAST_MATH__ ) -__CRT_INLINE double __cdecl rint (double x) -{ - double retval; - __asm__ ("frndint;": "=t" (retval) : "0" (x)); - return retval; -} - -__CRT_INLINE float __cdecl rintf (float x) -{ - float retval; - __asm__ ("frndint;" : "=t" (retval) : "0" (x) ); - return retval; -} - -__CRT_INLINE long double __cdecl rintl (long double x) -{ - long double retval; - __asm__ ("frndint;" : "=t" (retval) : "0" (x) ); - return retval; -} - -__CRT_INLINE long __cdecl lrint (double x) -{ - long retval; - __asm__ __volatile__ - ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); - return retval; -} - -__CRT_INLINE long __cdecl lrintf (float x) -{ - long retval; - __asm__ __volatile__ - ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); - return retval; -} - -__CRT_INLINE long __cdecl lrintl (long double x) -{ - long retval; - __asm__ __volatile__ - ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); - return retval; -} - -__CRT_INLINE long long __cdecl llrint (double x) -{ - long long retval; - __asm__ __volatile__ - ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); - return retval; -} - -__CRT_INLINE long long __cdecl llrintf (float x) -{ - long long retval; - __asm__ __volatile__ - ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); - return retval; -} - -__CRT_INLINE long long __cdecl llrintl (long double x) -{ - long long retval; - __asm__ __volatile__ - ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); - return retval; -} -#endif /* !__FAST_MATH__ || !__MINGW_GNUC_PREREQ (4,0) */ -#endif /* !defined __NO_INLINE */ - -/* 7.12.9.6 */ -/* round away from zero, regardless of fpu control word settings */ -extern double __cdecl round (double); -extern float __cdecl roundf (float); -extern long double __cdecl roundl (long double); - -/* 7.12.9.7 */ -extern long __cdecl lround (double); -extern long __cdecl lroundf (float); -extern long __cdecl lroundl (long double); - -extern long long __cdecl llround (double); -extern long long __cdecl llroundf (float); -extern long long __cdecl llroundl (long double); - -/* 7.12.9.8 */ -/* round towards zero, regardless of fpu control word settings */ -extern double __cdecl trunc (double); -extern float __cdecl truncf (float); -extern long double __cdecl truncl (long double); - -/* 7.12.10.1 Double in C89 */ -extern float __cdecl fmodf (float, float); -extern long double __cdecl fmodl (long double, long double); - -/* 7.12.10.2 */ -extern double __cdecl remainder (double, double); -extern float __cdecl remainderf (float, float); -extern long double __cdecl remainderl (long double, long double); - -/* 7.12.10.3 */ -extern double __cdecl remquo(double, double, int *); -extern float __cdecl remquof(float, float, int *); -extern long double __cdecl remquol(long double, long double, int *); - -/* 7.12.11.1 */ -extern double __cdecl copysign (double, double); /* in libmoldname.a */ -extern float __cdecl copysignf (float, float); -extern long double __cdecl copysignl (long double, long double); - -/* 7.12.11.2 Return a NaN */ -extern double __cdecl nan(const char *tagp); -extern float __cdecl nanf(const char *tagp); -extern long double __cdecl nanl(const char *tagp); - -#ifndef __STRICT_ANSI__ -#define _nan() nan("") -#define _nanf() nanf("") -#define _nanl() nanl("") -#endif - -/* 7.12.11.3 */ -extern double __cdecl nextafter (double, double); /* in libmoldname.a */ -extern float __cdecl nextafterf (float, float); -extern long double __cdecl nextafterl (long double, long double); - -/* 7.12.11.4 The nexttoward functions */ -extern double __cdecl nexttoward (double, long double); -extern float __cdecl nexttowardf (float, long double); -extern long double __cdecl nexttowardl (long double, long double); - -/* 7.12.12.1 */ -/* x > y ? (x - y) : 0.0 */ -extern double __cdecl fdim (double x, double y); -extern float __cdecl fdimf (float x, float y); -extern long double __cdecl fdiml (long double x, long double y); - -/* fmax and fmin. - NaN arguments are treated as missing data: if one argument is a NaN - and the other numeric, then these functions choose the numeric - value. */ - -/* 7.12.12.2 */ -extern double __cdecl fmax (double, double); -extern float __cdecl fmaxf (float, float); -extern long double __cdecl fmaxl (long double, long double); - -/* 7.12.12.3 */ -extern double __cdecl fmin (double, double); -extern float __cdecl fminf (float, float); -extern long double __cdecl fminl (long double, long double); - -/* 7.12.13.1 */ -/* return x * y + z as a ternary op */ -extern double __cdecl fma (double, double, double); -extern float __cdecl fmaf (float, float, float); -extern long double __cdecl fmal (long double, long double, long double); - - -/* 7.12.14 */ -/* - * With these functions, comparisons involving quiet NaNs set the FP - * condition code to "unordered". The IEEE floating-point spec - * dictates that the result of floating-point comparisons should be - * false whenever a NaN is involved, with the exception of the != op, - * which always returns true: yes, (NaN != NaN) is true). - */ - -#if __GNUC__ >= 3 - -#define isgreater(x, y) __builtin_isgreater(x, y) -#define isgreaterequal(x, y) __builtin_isgreaterequal(x, y) -#define isless(x, y) __builtin_isless(x, y) -#define islessequal(x, y) __builtin_islessequal(x, y) -#define islessgreater(x, y) __builtin_islessgreater(x, y) -#define isunordered(x, y) __builtin_isunordered(x, y) - -#else -/* helper */ -extern int __cdecl __fp_unordered_compare (long double, long double); -#ifndef __NO_INLINE__ -__CRT_INLINE int __cdecl -__fp_unordered_compare (long double x, long double y){ - unsigned short retval; - __asm__ ("fucom %%st(1);" - "fnstsw;": "=a" (retval) : "t" (x), "u" (y)); - return retval; -} -#endif - -#define isgreater(x, y) ((__fp_unordered_compare(x, y) \ - & 0x4500) == 0) -#define isless(x, y) ((__fp_unordered_compare (y, x) \ - & 0x4500) == 0) -#define isgreaterequal(x, y) ((__fp_unordered_compare (x, y) \ - & FP_INFINITE) == 0) -#define islessequal(x, y) ((__fp_unordered_compare(y, x) \ - & FP_INFINITE) == 0) -#define islessgreater(x, y) ((__fp_unordered_compare(x, y) \ - & FP_SUBNORMAL) == 0) -#define isunordered(x, y) ((__fp_unordered_compare(x, y) \ - & 0x4500) == 0x4500) - -#endif - - -#endif /* __STDC_VERSION__ >= 199901L */ -#endif /* __NO_ISOCEXT */ - - -#ifdef __cplusplus -} -#endif -#endif /* Not RC_INVOKED */ - - -#endif /* Not _MATH_H_ */ diff --git a/winsup/mingw/include/mbctype.h b/winsup/mingw/include/mbctype.h deleted file mode 100644 index 012143700..000000000 --- a/winsup/mingw/include/mbctype.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * mbctype.h - * - * Functions for testing multibyte character types and converting characters. - * - * This file is part of the Mingw32 package. - * - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - */ - -#ifndef _MBCTYPE_H_ -#define _MBCTYPE_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -/* return values for _mbsbtype and _mbbtype in mbstring.h */ -#define _MBC_SINGLE 0 -#define _MBC_LEAD 1 -#define _MBC_TRAIL 2 -#define _MBC_ILLEGAL (-1) - -/* args for setmbcp (in lieu of actual codepage) */ -#define _MB_CP_SBCS 0 -#define _MB_CP_OEM (-2) -#define _MB_CP_ANSI (-3) -#define _MB_CP_LOCALE (-4) - -/* TODO: bit masks */ -/* -#define _MS -#define _MP -#define _M1 -#define _M2 -#define _SBUP -#define _SBLOW -*/ - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __STRICT_ANSI__ - -_CRTIMP int __cdecl __MINGW_NOTHROW _setmbcp (int); -_CRTIMP int __cdecl __MINGW_NOTHROW _getmbcp (void); - -/* byte classification */ -/* NB: Corresponding _ismbc* functions are in mbstring.h */ - -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbalpha (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbalnum (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbgraph (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbprint (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbpunct (unsigned int); - -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbkana (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbkalnum (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbkprint (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbkpunct (unsigned int); - - -/* these are also in mbstring.h */ -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbblead (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbtrail (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbslead (const unsigned char*, const unsigned char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbstrail (const unsigned char*, const unsigned char*); - -#ifdef __DECLSPEC_SUPPORTED -__MINGW_IMPORT unsigned char _mbctype[]; -__MINGW_IMPORT unsigned char _mbcasemap[]; -#endif - -/* TODO : _MBCS_ mappings go in tchar.h */ - -#endif /* Not strict ANSI */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _MCTYPE_H_ */ - diff --git a/winsup/mingw/include/mbstring.h b/winsup/mingw/include/mbstring.h deleted file mode 100644 index 19261feda..000000000 --- a/winsup/mingw/include/mbstring.h +++ /dev/null @@ -1,132 +0,0 @@ -/* - * mbstring.h - * - * Protototypes for string functions supporting multibyte characters. - * - * This file is part of the Mingw32 package. - * - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - */ - -#ifndef _MBSTRING_H_ -#define _MBSTRING_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#ifndef RC_INVOKED - -#define __need_size_t -#include <stddef.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef __STRICT_ANSI__ - -/* character classification */ -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcalnum (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcalpha (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcdigit (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcgraph (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcprint (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcpunct (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcspace (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbclower (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcupper (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbclegal (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcsymbol (unsigned int); - - -/* also in mbctype.h */ -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbblead (unsigned int ); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbbtrail (unsigned int ); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbslead ( const unsigned char*, const unsigned char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbstrail ( const unsigned char*, const unsigned char*); - -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctolower (unsigned int); -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctoupper (unsigned int); - -_CRTIMP void __cdecl __MINGW_NOTHROW _mbccpy (unsigned char*, const unsigned char*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbclen (const unsigned char*); - -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbbtombc (unsigned int); -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctombb (unsigned int); - -/* Return value constants for these are defined in mbctype.h. */ -_CRTIMP int __cdecl __MINGW_NOTHROW _mbbtype (unsigned char, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbsbtype (const unsigned char*, size_t); - -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbscpy (unsigned char*, const unsigned char*); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsncpy (unsigned char*, const unsigned char*, size_t); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsnbcpy (unsigned char*, const unsigned char*, size_t); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsset (unsigned char*, unsigned int); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsnset (unsigned char*, unsigned int, size_t); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsnbset (unsigned char*, unsigned int, size_t); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsdup (const unsigned char*); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsrev (unsigned char*); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbscat (unsigned char*, const unsigned char*); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsncat (unsigned char*, const unsigned char*, size_t); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsnbcat (unsigned char*, const unsigned char*, size_t); -_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbslen (const unsigned char*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbsnbcnt (const unsigned char*, size_t); -_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbsnccnt (const unsigned char*, size_t); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbschr (const unsigned char*, unsigned int); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsrchr (const unsigned char*, unsigned int); -_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbsspn (const unsigned char*, const unsigned char*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW _mbscspn (const unsigned char*, const unsigned char*); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsspnp (const unsigned char*, const unsigned char*); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbspbrk (const unsigned char*, const unsigned char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbscmp (const unsigned char*, const unsigned char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbsicmp (const unsigned char*, const unsigned char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbsncmp (const unsigned char*, const unsigned char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbsnicmp (const unsigned char*, const unsigned char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbsnbcmp (const unsigned char*, const unsigned char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbsnbicmp (const unsigned char*, const unsigned char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbscoll (const unsigned char*, const unsigned char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbsicoll (const unsigned char*, const unsigned char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbsncoll (const unsigned char*, const unsigned char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbsnicoll (const unsigned char*, const unsigned char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbsnbcoll (const unsigned char*, const unsigned char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _mbsnbicoll (const unsigned char*, const unsigned char*, size_t); - -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsinc (const unsigned char*); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsninc (const unsigned char*, size_t); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsdec (const unsigned char*, const unsigned char*); -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbsnextc (const unsigned char*); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbslwr (unsigned char*); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbsupr (unsigned char*); -_CRTIMP unsigned char* __cdecl __MINGW_NOTHROW _mbstok (unsigned char*, const unsigned char*); - -/* Kanji */ -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbchira (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbckata (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcl0 (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcl1 (unsigned int); -_CRTIMP int __cdecl __MINGW_NOTHROW _ismbcl2 (unsigned int); -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbcjistojms (unsigned int); -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbcjmstojis (unsigned int); -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctohira (unsigned int); -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _mbctokata (unsigned int); - -#endif /* Not strict ANSI */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ -#endif /* Not _MBSTRING_H_ */ - - diff --git a/winsup/mingw/include/mem.h b/winsup/mingw/include/mem.h deleted file mode 100644 index 451de0cd4..000000000 --- a/winsup/mingw/include/mem.h +++ /dev/null @@ -1,6 +0,0 @@ -/* - * This file is part of the Mingw32 package. - * - * mem.h maps to string.h - */ -#include <string.h> diff --git a/winsup/mingw/include/memory.h b/winsup/mingw/include/memory.h deleted file mode 100644 index 9ba65cf69..000000000 --- a/winsup/mingw/include/memory.h +++ /dev/null @@ -1,7 +0,0 @@ -/* - * This file is part of the Mingw32 package. - * - * memory.h maps to the standard string.h header. - */ - -#include <string.h> diff --git a/winsup/mingw/include/process.h b/winsup/mingw/include/process.h deleted file mode 100644 index 0a3511f4d..000000000 --- a/winsup/mingw/include/process.h +++ /dev/null @@ -1,161 +0,0 @@ -/* - * process.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Function calls for spawning child processes. - * - */ - -#ifndef _PROCESS_H_ -#define _PROCESS_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#include <sys/types.h> /* For _pid_t and pid_t. */ -#include <stdint.h> /* For intptr_t. */ -/* - * Constants for cwait actions. - * Obsolete for Win32. - */ -#define _WAIT_CHILD 0 -#define _WAIT_GRANDCHILD 1 - -#ifndef _NO_OLDNAMES -#define WAIT_CHILD _WAIT_CHILD -#define WAIT_GRANDCHILD _WAIT_GRANDCHILD -#endif /* Not _NO_OLDNAMES */ - -/* - * Mode constants for spawn functions. - */ -#define _P_WAIT 0 -#define _P_NOWAIT 1 -#define _P_OVERLAY 2 -#define _OLD_P_OVERLAY _P_OVERLAY -#define _P_NOWAITO 3 -#define _P_DETACH 4 - -#ifndef _NO_OLDNAMES -#define P_WAIT _P_WAIT -#define P_NOWAIT _P_NOWAIT -#define P_OVERLAY _P_OVERLAY -#define OLD_P_OVERLAY _OLD_P_OVERLAY -#define P_NOWAITO _P_NOWAITO -#define P_DETACH _P_DETACH -#endif /* Not _NO_OLDNAMES */ - - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -_CRTIMP void __cdecl __MINGW_NOTHROW _cexit(void); -_CRTIMP void __cdecl __MINGW_NOTHROW _c_exit(void); - -_CRTIMP int __cdecl __MINGW_NOTHROW _cwait (int*, _pid_t, int); - -_CRTIMP _pid_t __cdecl __MINGW_NOTHROW _getpid(void); - -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _execl (const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _execle (const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _execlp (const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _execlpe (const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _execv (const char*, const char* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _execve (const char*, const char* const*, const char* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _execvp (const char*, const char* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _execvpe (const char*, const char* const*, const char* const*); - -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _spawnl (int, const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _spawnle (int, const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _spawnlp (int, const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _spawnlpe (int, const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _spawnv (int, const char*, const char* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _spawnve (int, const char*, const char* const*, const char* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _spawnvp (int, const char*, const char* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _spawnvpe (int, const char*, const char* const*, const char* const*); - -#ifndef _WPROCESS_DEFINED -/* Also in wchar.h - keep in sync */ -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecl (const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecle (const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexeclp (const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexeclpe (const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecv (const wchar_t*, const wchar_t* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecve (const wchar_t*, const wchar_t* const*, const wchar_t* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecvp (const wchar_t*, const wchar_t* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecvpe (const wchar_t*, const wchar_t* const*, const wchar_t* const*); - -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnl (int, const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnle (int, const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnlp (int, const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnlpe (int, const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnv (int, const wchar_t*, const wchar_t* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnve (int, const wchar_t*, const wchar_t* const*, const wchar_t* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnvp (int, const wchar_t*, const wchar_t* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnvpe (int, const wchar_t*, const wchar_t* const*, const wchar_t* const*); - -#define _WPROCESS_DEFINED -#endif - -/* - * The functions _beginthreadex and _endthreadex are not provided by CRTDLL. - * They are provided by MSVCRT. - * - * NOTE: Apparently _endthread calls CloseHandle on the handle of the thread, - * making for race conditions if you are not careful. Basically you have to - * make sure that no-one is going to do *anything* with the thread handle - * after the thread calls _endthread or returns from the thread function. - * - * NOTE: No old names for these functions. Use the underscore. - */ -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW - _beginthread (void (*)(void *), unsigned, void*); -_CRTIMP void __cdecl __MINGW_NOTHROW _endthread (void); - -#ifdef __MSVCRT__ -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW - _beginthreadex (void *, unsigned, unsigned (__stdcall *) (void *), - void*, unsigned, unsigned*); -_CRTIMP void __cdecl __MINGW_NOTHROW _endthreadex (unsigned); -#endif - - -#ifndef _NO_OLDNAMES -/* - * Functions without the leading underscore, for portability. These functions - * live in liboldnames.a. - */ -_CRTIMP int __cdecl __MINGW_NOTHROW cwait (int*, pid_t, int); -_CRTIMP pid_t __cdecl __MINGW_NOTHROW getpid (void); - -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW execl (const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW execle (const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW execlp (const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW execlpe (const char*, const char*,...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW execv (const char*, const char* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW execve (const char*, const char* const*, const char* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW execvp (const char*, const char* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW execvpe (const char*, const char* const*, const char* const*); - -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW spawnl (int, const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW spawnle (int, const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW spawnlp (int, const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW spawnlpe (int, const char*, const char*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW spawnv (int, const char*, const char* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW spawnve (int, const char*, const char* const*, const char* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW spawnvp (int, const char*, const char* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW spawnvpe (int, const char*, const char* const*, const char* const*); -#endif /* Not _NO_OLDNAMES */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* _PROCESS_H_ not defined */ diff --git a/winsup/mingw/include/search.h b/winsup/mingw/include/search.h deleted file mode 100644 index af71a32cc..000000000 --- a/winsup/mingw/include/search.h +++ /dev/null @@ -1,106 +0,0 @@ -/* - * search.h - * - * Functions for searching and sorting. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Danny Smith <dannysmith@users.sourceforge.net> - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - */ - -#ifndef _SEARCH_H_ -#define _SEARCH_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _SIZE_T_DEFINED -typedef unsigned int size_t; -#define _SIZE_T_DEFINED -#endif - -/* bsearch and qsort are also declared in stdlib.h */ -_CRTIMP void* __cdecl bsearch (const void*, const void*, size_t, size_t, - int (*)(const void*, const void*)); -_CRTIMP void __cdecl qsort (void*, size_t, size_t, - int (*)(const void*, const void*)); - -_CRTIMP void* __cdecl _lfind (const void*, const void*, unsigned int*, - unsigned int, int (*)(const void*, const void*)); -_CRTIMP void* __cdecl _lsearch (const void*, void*, unsigned int*, unsigned int, - int (*)(const void*, const void*)); -/* -Documentation for these POSIX definitions and prototypes can be found in -The Open Group Base Specifications Issue 6 -IEEE Std 1003.1, 2004 Edition. -eg: http://www.opengroup.org/onlinepubs/009695399/functions/twalk.html -*/ - - -typedef struct entry { - char *key; - void *data; -} ENTRY; - -typedef enum { - FIND, - ENTER -} ACTION; - -typedef enum { - preorder, - postorder, - endorder, - leaf -} VISIT; - -#ifdef _SEARCH_PRIVATE -typedef struct node { - char *key; - struct node *llink, *rlink; -} node_t; -#endif - -void * __cdecl tdelete (const void * __restrict__, void ** __restrict__, - int (*)(const void *, const void *)) - __MINGW_ATTRIB_NONNULL (1) __MINGW_ATTRIB_NONNULL (3); -void * __cdecl tfind (const void *, void * const *, - int (*)(const void *, const void *)) - __MINGW_ATTRIB_NONNULL (1) __MINGW_ATTRIB_NONNULL (3); -void * __cdecl tsearch (const void *, void **, - int (*)(const void *, const void *)) - __MINGW_ATTRIB_NONNULL (1) __MINGW_ATTRIB_NONNULL (3); -void __cdecl twalk (const void *, void (*)(const void *, VISIT, int)); - -#ifndef _NO_OLDNAMES -_CRTIMP void* __cdecl lfind (const void*, const void*, unsigned int*, - unsigned int, int (*)(const void*, const void*)); -_CRTIMP void* __cdecl lsearch (const void*, void*, unsigned int*, unsigned int, - int (*)(const void*, const void*)); -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* RC_INVOKED */ - -#endif /* _SEARCH_H_ */ diff --git a/winsup/mingw/include/setjmp.h b/winsup/mingw/include/setjmp.h deleted file mode 100644 index 96eb5bd65..000000000 --- a/winsup/mingw/include/setjmp.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * setjmp.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Declarations supporting setjmp and longjump, a method for avoiding - * the normal function call return sequence. (Bleah!) - * - */ - -#ifndef _SETJMP_H_ -#define _SETJMP_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The buffer used by setjmp to store the information used by longjmp - * to perform it's evil goto-like work. The size of this buffer was - * determined through experimentation; it's contents are a mystery. - * NOTE: This was determined on an i386 (actually a Pentium). The - * contents could be different on an Alpha or something else. - */ -#define _JBLEN 16 -#define _JBTYPE int -typedef _JBTYPE jmp_buf[_JBLEN]; - -/* - * The function provided by CRTDLL which appears to do the actual work - * of setjmp. - */ -_CRTIMP int __cdecl __MINGW_NOTHROW _setjmp (jmp_buf); - -#define setjmp(x) _setjmp(x) - -/* - * Return to the last setjmp call and act as if setjmp had returned - * nVal (which had better be non-zero!). - */ -_CRTIMP void __cdecl __MINGW_NOTHROW longjmp (jmp_buf, int) __MINGW_ATTRIB_NORETURN; - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _SETJMP_H_ */ - diff --git a/winsup/mingw/include/share.h b/winsup/mingw/include/share.h deleted file mode 100644 index 09a54ad28..000000000 --- a/winsup/mingw/include/share.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * share.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Constants for file sharing functions. - * - */ - -#ifndef _SHARE_H_ -#define _SHARE_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#define _SH_COMPAT 0x00 /* Compatibility */ -#define _SH_DENYRW 0x10 /* Deny read/write */ -#define _SH_DENYWR 0x20 /* Deny write */ -#define _SH_DENYRD 0x30 /* Deny read */ -#define _SH_DENYNO 0x40 /* Deny nothing */ - -#ifndef _NO_OLDNAMES - -/* Non ANSI names */ -#define SH_DENYRW _SH_DENYRW -#define SH_DENYWR _SH_DENYWR -#define SH_DENYRD _SH_DENYRD -#define SH_DENYNO _SH_DENYNO - -#endif /* Not _NO_OLDNAMES */ - -#endif /* Not _SHARE_H_ */ diff --git a/winsup/mingw/include/signal.h b/winsup/mingw/include/signal.h deleted file mode 100644 index 6fe336d88..000000000 --- a/winsup/mingw/include/signal.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * signal.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * A way to set handlers for exceptional conditions (also known as signals). - * - */ - -#ifndef _SIGNAL_H_ -#define _SIGNAL_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -/* - * The actual signal values. Using other values with signal - * produces a SIG_ERR return value. - * - * NOTE: SIGINT is produced when the user presses Ctrl-C. - * SIGILL has not been tested. - * SIGFPE doesn't seem to work? - * SIGSEGV does not catch writing to a NULL pointer (that shuts down - * your app; can you say "segmentation violation core dump"?). - * SIGTERM comes from what kind of termination request exactly? - * SIGBREAK is indeed produced by pressing Ctrl-Break. - * SIGABRT is produced by calling abort. - * TODO: The above results may be related to not installing an appropriate - * structured exception handling frame. Results may be better if I ever - * manage to get the SEH stuff down. - */ -#define SIGINT 2 /* Interactive attention */ -#define SIGILL 4 /* Illegal instruction */ -#define SIGFPE 8 /* Floating point error */ -#define SIGSEGV 11 /* Segmentation violation */ -#define SIGTERM 15 /* Termination request */ -#define SIGBREAK 21 /* Control-break */ -#define SIGABRT 22 /* Abnormal termination (abort) */ - -#define NSIG 23 /* maximum signal number + 1 */ - -#ifndef RC_INVOKED - -#ifndef _SIG_ATOMIC_T_DEFINED -typedef int sig_atomic_t; -#define _SIG_ATOMIC_T_DEFINED -#endif - -/* - * The prototypes (below) are the easy part. The hard part is figuring - * out what signals are available and what numbers they are assigned - * along with appropriate values of SIG_DFL and SIG_IGN. - */ - -/* - * A pointer to a signal handler function. A signal handler takes a - * single int, which is the signal it handles. - */ -typedef void (*__p_sig_fn_t)(int); - -/* - * These are special values of signal handler pointers which are - * used to send a signal to the default handler (SIG_DFL), ignore - * the signal (SIG_IGN), indicate an error return (SIG_ERR), - * get an error (SIG_SGE), or acknowledge (SIG_ACK). - */ -#define SIG_DFL ((__p_sig_fn_t) 0) -#define SIG_IGN ((__p_sig_fn_t) 1) -#define SIG_ERR ((__p_sig_fn_t) -1) -#define SIG_SGE ((__p_sig_fn_t) 3) -#define SIG_ACK ((__p_sig_fn_t) 4) - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Call signal to set the signal handler for signal sig to the - * function pointed to by handler. Returns a pointer to the - * previous handler, or SIG_ERR if an error occurs. Initially - * unhandled signals defined above will return SIG_DFL. - */ -_CRTIMP __p_sig_fn_t __cdecl __MINGW_NOTHROW signal(int, __p_sig_fn_t); - -/* - * Raise the signal indicated by sig. Returns non-zero on success. - */ -_CRTIMP int __cdecl __MINGW_NOTHROW raise (int); - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _SIGNAL_H_ */ - diff --git a/winsup/mingw/include/stdint.h b/winsup/mingw/include/stdint.h deleted file mode 100644 index 942a1a8fc..000000000 --- a/winsup/mingw/include/stdint.h +++ /dev/null @@ -1,207 +0,0 @@ -/* ISO C9x 7.18 Integer types <stdint.h> - * Based on ISO/IEC SC22/WG14 9899 Committee draft (SC22 N2794) - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * Contributor: Danny Smith <danny_r_smith_2001@yahoo.co.nz> - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * Date: 2000-12-02 - */ - - -#ifndef _STDINT_H -#define _STDINT_H -#include <_mingw.h> -#define __need_wint_t -#define __need_wchar_t -#include <stddef.h> - -/* 7.18.1.1 Exact-width integer types */ -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef short int16_t; -typedef unsigned short uint16_t; -typedef int int32_t; -typedef unsigned uint32_t; -typedef long long int64_t; -typedef unsigned long long uint64_t; - -/* 7.18.1.2 Minimum-width integer types */ -typedef signed char int_least8_t; -typedef unsigned char uint_least8_t; -typedef short int_least16_t; -typedef unsigned short uint_least16_t; -typedef int int_least32_t; -typedef unsigned uint_least32_t; -typedef long long int_least64_t; -typedef unsigned long long uint_least64_t; - -/* 7.18.1.3 Fastest minimum-width integer types - * Not actually guaranteed to be fastest for all purposes - * Here we use the exact-width types for 8 and 16-bit ints. - */ -typedef signed char int_fast8_t; -typedef unsigned char uint_fast8_t; -typedef short int_fast16_t; -typedef unsigned short uint_fast16_t; -typedef int int_fast32_t; -typedef unsigned int uint_fast32_t; -typedef long long int_fast64_t; -typedef unsigned long long uint_fast64_t; - -/* 7.18.1.4 Integer types capable of holding object pointers */ - -#ifndef _INTPTR_T_DEFINED -#define _INTPTR_T_DEFINED -#ifdef _WIN64 - typedef __int64 intptr_t; -#else - typedef int intptr_t; -#endif -#endif - -#ifndef _UINTPTR_T_DEFINED -#define _UINTPTR_T_DEFINED -#ifdef _WIN64 - typedef unsigned __int64 uintptr_t; -#else - typedef unsigned int uintptr_t; -#endif -#endif - -/* 7.18.1.5 Greatest-width integer types */ -typedef long long intmax_t; -typedef unsigned long long uintmax_t; - -/* 7.18.2 Limits of specified-width integer types */ -#if !defined ( __cplusplus) || defined (__STDC_LIMIT_MACROS) - -/* 7.18.2.1 Limits of exact-width integer types */ -#define INT8_MIN (-128) -#define INT16_MIN (-32768) -#define INT32_MIN (-2147483647 - 1) -#define INT64_MIN (-9223372036854775807LL - 1) - -#define INT8_MAX 127 -#define INT16_MAX 32767 -#define INT32_MAX 2147483647 -#define INT64_MAX 9223372036854775807LL - -#define UINT8_MAX 0xff /* 255U */ -#define UINT16_MAX 0xffff /* 65535U */ -#define UINT32_MAX 0xffffffff /* 4294967295U */ -#define UINT64_MAX 0xffffffffffffffffULL /* 18446744073709551615ULL */ - -/* 7.18.2.2 Limits of minimum-width integer types */ -#define INT_LEAST8_MIN INT8_MIN -#define INT_LEAST16_MIN INT16_MIN -#define INT_LEAST32_MIN INT32_MIN -#define INT_LEAST64_MIN INT64_MIN - -#define INT_LEAST8_MAX INT8_MAX -#define INT_LEAST16_MAX INT16_MAX -#define INT_LEAST32_MAX INT32_MAX -#define INT_LEAST64_MAX INT64_MAX - -#define UINT_LEAST8_MAX UINT8_MAX -#define UINT_LEAST16_MAX UINT16_MAX -#define UINT_LEAST32_MAX UINT32_MAX -#define UINT_LEAST64_MAX UINT64_MAX - -/* 7.18.2.3 Limits of fastest minimum-width integer types */ -#define INT_FAST8_MIN INT8_MIN -#define INT_FAST16_MIN INT16_MIN -#define INT_FAST32_MIN INT32_MIN -#define INT_FAST64_MIN INT64_MIN - -#define INT_FAST8_MAX INT8_MAX -#define INT_FAST16_MAX INT16_MAX -#define INT_FAST32_MAX INT32_MAX -#define INT_FAST64_MAX INT64_MAX - -#define UINT_FAST8_MAX UINT8_MAX -#define UINT_FAST16_MAX UINT16_MAX -#define UINT_FAST32_MAX UINT32_MAX -#define UINT_FAST64_MAX UINT64_MAX - -/* 7.18.2.4 Limits of integer types capable of holding - object pointers */ -#ifdef _WIN64 -#define INTPTR_MIN INT64_MIN -#define INTPTR_MAX INT64_MAX -#define UINTPTR_MAX UINT64_MAX -#else -#define INTPTR_MIN INT32_MIN -#define INTPTR_MAX INT32_MAX -#define UINTPTR_MAX UINT32_MAX -#endif - -/* 7.18.2.5 Limits of greatest-width integer types */ -#define INTMAX_MIN INT64_MIN -#define INTMAX_MAX INT64_MAX -#define UINTMAX_MAX UINT64_MAX - -/* 7.18.3 Limits of other integer types */ -#define PTRDIFF_MIN INTPTR_MIN -#define PTRDIFF_MAX INTPTR_MAX - -#define SIG_ATOMIC_MIN INTPTR_MIN -#define SIG_ATOMIC_MAX INTPTR_MAX - -#define SIZE_MAX UINTPTR_MAX - -#ifndef WCHAR_MIN /* also in wchar.h */ -#define WCHAR_MIN 0 -#define WCHAR_MAX 0xffff /* UINT16_MAX */ -#endif - -/* - * wint_t is unsigned short for compatibility with MS runtime - */ -#define WINT_MIN 0 -#define WINT_MAX 0xffff /* UINT16_MAX */ - -#endif /* !defined ( __cplusplus) || defined __STDC_LIMIT_MACROS */ - - -/* 7.18.4 Macros for integer constants */ -#if !defined ( __cplusplus) || defined (__STDC_CONSTANT_MACROS) - -/* 7.18.4.1 Macros for minimum-width integer constants - - Accoding to Douglas Gwyn <gwyn@arl.mil>: - "This spec was changed in ISO/IEC 9899:1999 TC1; in ISO/IEC - 9899:1999 as initially published, the expansion was required - to be an integer constant of precisely matching type, which - is impossible to accomplish for the shorter types on most - platforms, because C99 provides no standard way to designate - an integer constant with width less than that of type int. - TC1 changed this to require just an integer constant - *expression* with *promoted* type." -*/ - -#define INT8_C(val) val -#define UINT8_C(val) val -#define INT16_C(val) val -#define UINT16_C(val) val - -#define INT32_C(val) val -#define UINT32_C(val) val##U -#define INT64_C(val) val##LL -#define UINT64_C(val) val##ULL - -/* 7.18.4.2 Macros for greatest-width integer constants */ -#define INTMAX_C(val) INT64_C(val) -#define UINTMAX_C(val) UINT64_C(val) - -#endif /* !defined ( __cplusplus) || defined __STDC_CONSTANT_MACROS */ - -#endif diff --git a/winsup/mingw/include/stdio.h b/winsup/mingw/include/stdio.h deleted file mode 100644 index 60f540114..000000000 --- a/winsup/mingw/include/stdio.h +++ /dev/null @@ -1,662 +0,0 @@ -/* - * stdio.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Definitions of types and prototypes of functions for standard input and - * output. - * - * NOTE: The file manipulation functions provided by Microsoft seem to - * work with either slash (/) or backslash (\) as the directory separator. - * - */ - -#ifndef _STDIO_H_ -#define _STDIO_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#ifndef RC_INVOKED -#define __need_size_t -#define __need_NULL -#define __need_wchar_t -#define __need_wint_t -#include <stddef.h> -#define __need___va_list -#include <stdarg.h> -#endif /* Not RC_INVOKED */ - - -/* Flags for the iobuf structure */ -#define _IOREAD 1 /* currently reading */ -#define _IOWRT 2 /* currently writing */ -#define _IORW 0x0080 /* opened as "r+w" */ - - -/* - * The three standard file pointers provided by the run time library. - * NOTE: These will go to the bit-bucket silently in GUI applications! - */ -#define STDIN_FILENO 0 -#define STDOUT_FILENO 1 -#define STDERR_FILENO 2 - -/* Returned by various functions on end of file condition or error. */ -#define EOF (-1) - -/* - * The maximum length of a file name. You should use GetVolumeInformation - * instead of this constant. But hey, this works. - * Also defined in io.h. - */ -#ifndef FILENAME_MAX -#define FILENAME_MAX (260) -#endif - -/* - * The maximum number of files that may be open at once. I have set this to - * a conservative number. The actual value may be higher. - */ -#define FOPEN_MAX (20) - -/* After creating this many names, tmpnam and tmpfile return NULL */ -#define TMP_MAX 32767 -/* - * Tmpnam, tmpfile and, sometimes, _tempnam try to create - * temp files in the root directory of the current drive - * (not in pwd, as suggested by some older MS doc's). - * Redefining these macros does not effect the CRT functions. - */ -#define _P_tmpdir "\\" -#ifndef __STRICT_ANSI__ -#define P_tmpdir _P_tmpdir -#endif -#define _wP_tmpdir L"\\" - -/* - * The maximum size of name (including NUL) that will be put in the user - * supplied buffer caName for tmpnam. - * Inferred from the size of the static buffer returned by tmpnam - * when passed a NULL argument. May actually be smaller. - */ -#define L_tmpnam (16) - -#define _IOFBF 0x0000 /* full buffered */ -#define _IOLBF 0x0040 /* line buffered */ -#define _IONBF 0x0004 /* not buffered */ - -#define _IOMYBUF 0x0008 /* stdio malloc()'d buffer */ -#define _IOEOF 0x0010 /* EOF reached on read */ -#define _IOERR 0x0020 /* I/O error from system */ -#define _IOSTRG 0x0040 /* Strange or no file descriptor */ -#ifdef _POSIX_SOURCE -# define _IOAPPEND 0x0200 -#endif -/* - * The buffer size as used by setbuf such that it is equivalent to - * (void) setvbuf(fileSetBuffer, caBuffer, _IOFBF, BUFSIZ). - */ -#define BUFSIZ 512 - -/* Constants for nOrigin indicating the position relative to which fseek - * sets the file position. Defined unconditionally since ISO and POSIX - * say they are defined here. */ -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 - -#ifndef RC_INVOKED - -#ifndef __VALIST -#ifdef __GNUC__ -#define __VALIST __gnuc_va_list -#else -#define __VALIST char* -#endif -#endif /* defined __VALIST */ - -/* - * The structure underlying the FILE type. - * - * Some believe that nobody in their right mind should make use of the - * internals of this structure. Provided by Pedro A. Aranda Gutiirrez - * <paag@tid.es>. - */ -#ifndef _FILE_DEFINED -#define _FILE_DEFINED -typedef struct _iobuf -{ - char* _ptr; - int _cnt; - char* _base; - int _flag; - int _file; - int _charbuf; - int _bufsiz; - char* _tmpfname; -} FILE; -#endif /* Not _FILE_DEFINED */ - - -/* - * The standard file handles - */ -#ifndef __DECLSPEC_SUPPORTED - -extern FILE (*_imp___iob)[]; /* A pointer to an array of FILE */ - -#define _iob (*_imp___iob) /* An array of FILE */ - -#else /* __DECLSPEC_SUPPORTED */ - -__MINGW_IMPORT FILE _iob[]; /* An array of FILE imported from DLL. */ - -#endif /* __DECLSPEC_SUPPORTED */ - -#define stdin (&_iob[STDIN_FILENO]) -#define stdout (&_iob[STDOUT_FILENO]) -#define stderr (&_iob[STDERR_FILENO]) - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * File Operations - */ -_CRTIMP FILE* __cdecl __MINGW_NOTHROW fopen (const char*, const char*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW freopen (const char*, const char*, FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW fflush (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW fclose (FILE*); -/* MS puts remove & rename (but not wide versions) in io.h also */ -_CRTIMP int __cdecl __MINGW_NOTHROW remove (const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW rename (const char*, const char*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW tmpfile (void); -_CRTIMP char* __cdecl __MINGW_NOTHROW tmpnam (char*); - -#ifndef __STRICT_ANSI__ -_CRTIMP char* __cdecl __MINGW_NOTHROW _tempnam (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _rmtmp(void); -_CRTIMP int __cdecl __MINGW_NOTHROW _unlink (const char*); - -#ifndef NO_OLDNAMES -_CRTIMP char* __cdecl __MINGW_NOTHROW tempnam (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW rmtmp(void); -_CRTIMP int __cdecl __MINGW_NOTHROW unlink (const char*); -#endif -#endif /* __STRICT_ANSI__ */ - -_CRTIMP int __cdecl __MINGW_NOTHROW setvbuf (FILE*, char*, int, size_t); - -_CRTIMP void __cdecl __MINGW_NOTHROW setbuf (FILE*, char*); - -/* - * Formatted Output - * - * MSVCRT implementations are not ANSI C99 conformant... - * we offer these conforming alternatives from libmingwex.a - */ -#undef __mingw_stdio_redirect__ -#define __mingw_stdio_redirect__(F) __cdecl __MINGW_NOTHROW __mingw_##F - -extern int __mingw_stdio_redirect__(fprintf)(FILE*, const char*, ...); -extern int __mingw_stdio_redirect__(printf)(const char*, ...); -extern int __mingw_stdio_redirect__(sprintf)(char*, const char*, ...); -extern int __mingw_stdio_redirect__(snprintf)(char*, size_t, const char*, ...); -extern int __mingw_stdio_redirect__(vfprintf)(FILE*, const char*, __VALIST); -extern int __mingw_stdio_redirect__(vprintf)(const char*, __VALIST); -extern int __mingw_stdio_redirect__(vsprintf)(char*, const char*, __VALIST); -extern int __mingw_stdio_redirect__(vsnprintf)(char*, size_t, const char*, __VALIST); - -#if __USE_MINGW_ANSI_STDIO -/* - * User has expressed a preference for C99 conformance... - */ -# undef __mingw_stdio_redirect__ -# ifdef __cplusplus -/* - * For C++ we use inline implementations, to avoid interference - * with namespace qualification, which may result from using #defines. - */ -# define __mingw_stdio_redirect__ inline __cdecl __MINGW_NOTHROW - -# elif defined __GNUC__ -/* - * FIXME: Is there any GCC version prerequisite here? - * - * We also prefer inline implementations for C, when we can be confident - * that the GNU specific __inline__ mechanism is supported. - */ -# define __mingw_stdio_redirect__ static __inline__ __cdecl __MINGW_NOTHROW - -# else -/* - * Can't use inlines; fall back on module local static stubs. - */ -# define __mingw_stdio_redirect__ static __cdecl __MINGW_NOTHROW -# endif - -__mingw_stdio_redirect__ -int fprintf (FILE *__stream, const char *__format, ...) -{ - register int __retval; - __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); - __retval = __mingw_vfprintf( __stream, __format, __local_argv ); - __builtin_va_end( __local_argv ); - return __retval; -} - -__mingw_stdio_redirect__ -int printf (const char *__format, ...) -{ - register int __retval; - __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); - __retval = __mingw_vprintf( __format, __local_argv ); - __builtin_va_end( __local_argv ); - return __retval; -} - -__mingw_stdio_redirect__ -int sprintf (char *__stream, const char *__format, ...) -{ - register int __retval; - __builtin_va_list __local_argv; __builtin_va_start( __local_argv, __format ); - __retval = __mingw_vsprintf( __stream, __format, __local_argv ); - __builtin_va_end( __local_argv ); - return __retval; -} - -__mingw_stdio_redirect__ -int vfprintf (FILE *__stream, const char *__format, __VALIST __local_argv) -{ - return __mingw_vfprintf( __stream, __format, __local_argv ); -} - -__mingw_stdio_redirect__ -int vprintf (const char *__format, __VALIST __local_argv) -{ - return __mingw_vprintf( __format, __local_argv ); -} - -__mingw_stdio_redirect__ -int vsprintf (char *__stream, const char *__format, __VALIST __local_argv) -{ - return __mingw_vsprintf( __stream, __format, __local_argv ); -} - -#else -/* - * Default configuration: simply direct all calls to MSVCRT... - */ -_CRTIMP int __cdecl __MINGW_NOTHROW fprintf (FILE*, const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW printf (const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW sprintf (char*, const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW vfprintf (FILE*, const char*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW vprintf (const char*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW vsprintf (char*, const char*, __VALIST); - -#endif -/* - * Regardless of user preference, always offer these alternative - * entry points, for direct access to the MSVCRT implementations. - */ -#undef __mingw_stdio_redirect__ -#define __mingw_stdio_redirect__(F) __cdecl __MINGW_NOTHROW __msvcrt_##F - -_CRTIMP int __mingw_stdio_redirect__(fprintf)(FILE*, const char*, ...); -_CRTIMP int __mingw_stdio_redirect__(printf)(const char*, ...); -_CRTIMP int __mingw_stdio_redirect__(sprintf)(char*, const char*, ...); -_CRTIMP int __mingw_stdio_redirect__(vfprintf)(FILE*, const char*, __VALIST); -_CRTIMP int __mingw_stdio_redirect__(vprintf)(const char*, __VALIST); -_CRTIMP int __mingw_stdio_redirect__(vsprintf)(char*, const char*, __VALIST); - -#undef __mingw_stdio_redirect__ - -/* The following pair ALWAYS refer to the MSVCRT implementations... - */ -_CRTIMP int __cdecl __MINGW_NOTHROW _snprintf (char*, size_t, const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW _vsnprintf (char*, size_t, const char*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW _vscprintf (const char*, __VALIST); - -#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ -/* - * Microsoft does not provide implementations for the following, - * which are required by C99. Note in particular that the corresponding - * Microsoft implementations of _snprintf() and _vsnprintf() are *not* - * compatible with C99, but the following are; if you want the MSVCRT - * behaviour, you *must* use the Microsoft uglified names. - */ -int __cdecl __MINGW_NOTHROW snprintf (char *, size_t, const char *, ...); -int __cdecl __MINGW_NOTHROW vsnprintf (char *, size_t, const char *, __VALIST); - -int __cdecl __MINGW_NOTHROW vscanf (const char * __restrict__, __VALIST); -int __cdecl __MINGW_NOTHROW vfscanf (FILE * __restrict__, const char * __restrict__, - __VALIST); -int __cdecl __MINGW_NOTHROW vsscanf (const char * __restrict__, - const char * __restrict__, __VALIST); - -#endif /* !__NO_ISOCEXT */ - -/* - * Formatted Input - */ - -_CRTIMP int __cdecl __MINGW_NOTHROW fscanf (FILE*, const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW scanf (const char*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW sscanf (const char*, const char*, ...); -/* - * Character Input and Output Functions - */ - -_CRTIMP int __cdecl __MINGW_NOTHROW fgetc (FILE*); -_CRTIMP char* __cdecl __MINGW_NOTHROW fgets (char*, int, FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW fputc (int, FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW fputs (const char*, FILE*); -_CRTIMP char* __cdecl __MINGW_NOTHROW gets (char*); -_CRTIMP int __cdecl __MINGW_NOTHROW puts (const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW ungetc (int, FILE*); - -/* Traditionally, getc and putc are defined as macros. but the - standard doesn't say that they must be macros. - We use inline functions here to allow the fast versions - to be used in C++ with namespace qualification, eg., ::getc. - - _filbuf and _flsbuf are not thread-safe. */ -_CRTIMP int __cdecl __MINGW_NOTHROW _filbuf (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW _flsbuf (int, FILE*); - -#if !defined _MT - -__CRT_INLINE int __cdecl __MINGW_NOTHROW getc (FILE*); -__CRT_INLINE int __cdecl __MINGW_NOTHROW getc (FILE* __F) -{ - return (--__F->_cnt >= 0) - ? (int) (unsigned char) *__F->_ptr++ - : _filbuf (__F); -} - -__CRT_INLINE int __cdecl __MINGW_NOTHROW putc (int, FILE*); -__CRT_INLINE int __cdecl __MINGW_NOTHROW putc (int __c, FILE* __F) -{ - return (--__F->_cnt >= 0) - ? (int) (unsigned char) (*__F->_ptr++ = (char)__c) - : _flsbuf (__c, __F); -} - -__CRT_INLINE int __cdecl __MINGW_NOTHROW getchar (void); -__CRT_INLINE int __cdecl __MINGW_NOTHROW getchar (void) -{ - return (--stdin->_cnt >= 0) - ? (int) (unsigned char) *stdin->_ptr++ - : _filbuf (stdin); -} - -__CRT_INLINE int __cdecl __MINGW_NOTHROW putchar(int); -__CRT_INLINE int __cdecl __MINGW_NOTHROW putchar(int __c) -{ - return (--stdout->_cnt >= 0) - ? (int) (unsigned char) (*stdout->_ptr++ = (char)__c) - : _flsbuf (__c, stdout);} - -#else /* Use library functions. */ - -_CRTIMP int __cdecl __MINGW_NOTHROW getc (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW putc (int, FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW getchar (void); -_CRTIMP int __cdecl __MINGW_NOTHROW putchar (int); - -#endif - -/* - * Direct Input and Output Functions - */ - -_CRTIMP size_t __cdecl __MINGW_NOTHROW fread (void*, size_t, size_t, FILE*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW fwrite (const void*, size_t, size_t, FILE*); - -/* - * File Positioning Functions - */ - -_CRTIMP int __cdecl __MINGW_NOTHROW fseek (FILE*, long, int); -_CRTIMP long __cdecl __MINGW_NOTHROW ftell (FILE*); -_CRTIMP void __cdecl __MINGW_NOTHROW rewind (FILE*); - -#if __MSVCRT_VERSION__ >= 0x800 -_CRTIMP int __cdecl __MINGW_NOTHROW _fseek_nolock (FILE*, long, int); -_CRTIMP long __cdecl __MINGW_NOTHROW _ftell_nolock (FILE*); - -_CRTIMP int __cdecl __MINGW_NOTHROW _fseeki64 (FILE*, __int64, int); -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _ftelli64 (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW _fseeki64_nolock (FILE*, __int64, int); -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _ftelli64_nolock (FILE*); -#endif - -#ifdef __USE_MINGW_FSEEK /* These are in libmingwex.a */ -/* - * Workaround for limitations on win9x where a file contents are - * not zero'd out if you seek past the end and then write. - */ - -int __cdecl __MINGW_NOTHROW __mingw_fseek (FILE *, long, int); -size_t __cdecl __MINGW_NOTHROW __mingw_fwrite (const void*, size_t, size_t, FILE*); -#define fseek(fp, offset, whence) __mingw_fseek(fp, offset, whence) -#define fwrite(buffer, size, count, fp) __mingw_fwrite(buffer, size, count, fp) -#endif /* __USE_MINGW_FSEEK */ - -/* - * An opaque data type used for storing file positions... The contents of - * this type are unknown, but we (the compiler) need to know the size - * because the programmer using fgetpos and fsetpos will be setting aside - * storage for fpos_t structres. Actually I tested using a byte array and - * it is fairly evident that the fpos_t type is a long (in CRTDLL.DLL). - * Perhaps an unsigned long? TODO? It's definitely a 64-bit number in - * MSVCRT however, and for now `long long' will do. - */ -#ifdef __MSVCRT__ -typedef long long fpos_t; -#else -typedef long fpos_t; -#endif - -_CRTIMP int __cdecl __MINGW_NOTHROW fgetpos (FILE*, fpos_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW fsetpos (FILE*, const fpos_t*); - -/* - * Error Functions - */ - -_CRTIMP int __cdecl __MINGW_NOTHROW feof (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW ferror (FILE*); - -#ifdef __cplusplus -inline int __cdecl __MINGW_NOTHROW feof (FILE* __F) - { return __F->_flag & _IOEOF; } -inline int __cdecl __MINGW_NOTHROW ferror (FILE* __F) - { return __F->_flag & _IOERR; } -#else -#define feof(__F) ((__F)->_flag & _IOEOF) -#define ferror(__F) ((__F)->_flag & _IOERR) -#endif - -_CRTIMP void __cdecl __MINGW_NOTHROW clearerr (FILE*); -_CRTIMP void __cdecl __MINGW_NOTHROW perror (const char*); - - -#ifndef __STRICT_ANSI__ -/* - * Pipes - */ -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _popen (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _pclose (FILE*); - -#ifndef NO_OLDNAMES -_CRTIMP FILE* __cdecl __MINGW_NOTHROW popen (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW pclose (FILE*); -#endif - -/* - * Other Non ANSI functions - */ -_CRTIMP int __cdecl __MINGW_NOTHROW _flushall (void); -_CRTIMP int __cdecl __MINGW_NOTHROW _fgetchar (void); -_CRTIMP int __cdecl __MINGW_NOTHROW _fputchar (int); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _fdopen (int, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _fileno (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW _fcloseall (void); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _fsopen (const char*, const char*, int); -#ifdef __MSVCRT__ -_CRTIMP int __cdecl __MINGW_NOTHROW _getmaxstdio (void); -_CRTIMP int __cdecl __MINGW_NOTHROW _setmaxstdio (int); -#endif - -#if __MSVCRT_VERSION__ >= 0x800 -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _get_output_format (void); -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _set_output_format (unsigned int); - -#define _TWO_DIGIT_EXPONENT 1 - -_CRTIMP int __cdecl __MINGW_NOTHROW _get_printf_count_output (void); -_CRTIMP int __cdecl __MINGW_NOTHROW _set_printf_count_output (int); -#endif - -#ifndef _NO_OLDNAMES -_CRTIMP int __cdecl __MINGW_NOTHROW fgetchar (void); -_CRTIMP int __cdecl __MINGW_NOTHROW fputchar (int); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW fdopen (int, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW fileno (FILE*); -#endif /* Not _NO_OLDNAMES */ - -#define _fileno(__F) ((__F)->_file) -#ifndef _NO_OLDNAMES -#define fileno(__F) ((__F)->_file) -#endif - -#if defined (__MSVCRT__) && !defined (__NO_MINGW_LFS) -#include <sys/types.h> -__CRT_INLINE FILE* __cdecl __MINGW_NOTHROW fopen64 (const char*, const char*); -__CRT_INLINE FILE* __cdecl __MINGW_NOTHROW fopen64 (const char* filename, const char* mode) -{ - return fopen (filename, mode); -} - -int __cdecl __MINGW_NOTHROW fseeko64 (FILE*, off64_t, int); - -#ifdef __USE_MINGW_FSEEK -int __cdecl __MINGW_NOTHROW __mingw_fseeko64 (FILE *, off64_t, int); -#define fseeko64(fp, offset, whence) __mingw_fseeko64(fp, offset, whence) -#endif - -__CRT_INLINE off64_t __cdecl __MINGW_NOTHROW ftello64 (FILE *); -__CRT_INLINE off64_t __cdecl __MINGW_NOTHROW ftello64 (FILE * stream) -{ - fpos_t pos; - if (fgetpos(stream, &pos)) - return -1LL; - else - return ((off64_t) pos); -} -#endif /* __NO_MINGW_LFS */ - -#endif /* Not __STRICT_ANSI__ */ - -/* Wide versions */ - -#ifndef _WSTDIO_DEFINED -/* also in wchar.h - keep in sync */ -_CRTIMP int __cdecl __MINGW_NOTHROW fwprintf (FILE*, const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW wprintf (const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW _snwprintf (wchar_t*, size_t, const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW vfwprintf (FILE*, const wchar_t*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW vwprintf (const wchar_t*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW _vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW _vscwprintf (const wchar_t*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW fwscanf (FILE*, const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW wscanf (const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW swscanf (const wchar_t*, const wchar_t*, ...); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW fgetwc (FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW fputwc (wchar_t, FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW ungetwc (wchar_t, FILE*); - -/* These differ from the ISO C prototypes, which have a maxlen parameter (like snprintf). */ -#ifndef __STRICT_ANSI__ -_CRTIMP int __cdecl __MINGW_NOTHROW swprintf (wchar_t*, const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW vswprintf (wchar_t*, const wchar_t*, __VALIST); -#endif - -#ifdef __MSVCRT__ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW fgetws (wchar_t*, int, FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW fputws (const wchar_t*, FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW getwc (FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW getwchar (void); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW putwc (wint_t, FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW putwchar (wint_t); -#ifndef __STRICT_ANSI__ -_CRTIMP void __cdecl __MINGW_NOTHROW _lock_file(FILE*); -_CRTIMP void __cdecl __MINGW_NOTHROW _unlock_file(FILE*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _getws (wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _putws (const wchar_t*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfdopen(int, const wchar_t *); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfopen (const wchar_t*, const wchar_t*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfreopen (const wchar_t*, const wchar_t*, FILE*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfsopen (const wchar_t*, const wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wtmpnam (wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wtempnam (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wrename (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wremove (const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wperror (const wchar_t*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wpopen (const wchar_t*, const wchar_t*); -#endif /* __STRICT_ANSI__ */ -#endif /* __MSVCRT__ */ - -#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ -int __cdecl __MINGW_NOTHROW snwprintf (wchar_t* s, size_t n, const wchar_t* format, ...); -int __cdecl __MINGW_NOTHROW vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg); -#ifndef __NO_INLINE__ -__CRT_INLINE int __cdecl __MINGW_NOTHROW -vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg) - { return _vsnwprintf ( s, n, format, arg);} -#endif -int __cdecl __MINGW_NOTHROW vwscanf (const wchar_t * __restrict__, __VALIST); -int __cdecl __MINGW_NOTHROW vfwscanf (FILE * __restrict__, - const wchar_t * __restrict__, __VALIST); -int __cdecl __MINGW_NOTHROW vswscanf (const wchar_t * __restrict__, - const wchar_t * __restrict__, __VALIST); -#endif - -#define _WSTDIO_DEFINED -#endif /* _WSTDIO_DEFINED */ - -#ifndef __STRICT_ANSI__ -#ifdef __MSVCRT__ -#ifndef NO_OLDNAMES -_CRTIMP FILE* __cdecl __MINGW_NOTHROW wpopen (const wchar_t*, const wchar_t*); -#endif /* not NO_OLDNAMES */ -#endif /* MSVCRT runtime */ - -/* - * Other Non ANSI wide functions - */ -_CRTIMP wint_t __cdecl __MINGW_NOTHROW _fgetwchar (void); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW _fputwchar (wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _getw (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW _putw (int, FILE*); - -#ifndef _NO_OLDNAMES -_CRTIMP wint_t __cdecl __MINGW_NOTHROW fgetwchar (void); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW fputwchar (wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW getw (FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW putw (int, FILE*); -#endif /* Not _NO_OLDNAMES */ - -#endif /* __STRICT_ANSI */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* _STDIO_H_ */ diff --git a/winsup/mingw/include/stdlib.h b/winsup/mingw/include/stdlib.h deleted file mode 100644 index ece21cb44..000000000 --- a/winsup/mingw/include/stdlib.h +++ /dev/null @@ -1,564 +0,0 @@ -/* - * stdlib.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Definitions for common types, variables, and functions. - * - */ - -#ifndef _STDLIB_H_ -#define _STDLIB_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#define __need_size_t -#define __need_wchar_t -#define __need_NULL -#ifndef RC_INVOKED -#include <stddef.h> -#endif /* RC_INVOKED */ - -/* - * RAND_MAX is the maximum value that may be returned by rand. - * The minimum is zero. - */ -#define RAND_MAX 0x7FFF - -/* - * These values may be used as exit status codes. - */ -#define EXIT_SUCCESS 0 -#define EXIT_FAILURE 1 - -/* - * Definitions for path name functions. - * NOTE: All of these values have simply been chosen to be conservatively high. - * Remember that with long file names we can no longer depend on - * extensions being short. - */ -#ifndef __STRICT_ANSI__ - -#ifndef MAX_PATH -#define MAX_PATH (260) -#endif - -#define _MAX_PATH MAX_PATH -#define _MAX_DRIVE (3) -#define _MAX_DIR 256 -#define _MAX_FNAME 256 -#define _MAX_EXT 256 - -#endif /* Not __STRICT_ANSI__ */ - - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -#if !defined (__STRICT_ANSI__) - -/* - * This seems like a convenient place to declare these variables, which - * give programs using WinMain (or main for that matter) access to main-ish - * argc and argv. environ is a pointer to a table of environment variables. - * NOTE: Strings in _argv and environ are ANSI strings. - */ -extern int _argc; -extern char** _argv; - -/* imports from runtime dll of the above variables */ -#ifdef __MSVCRT__ - -extern int* __cdecl __MINGW_NOTHROW __p___argc(void); -extern char*** __cdecl __MINGW_NOTHROW __p___argv(void); -extern wchar_t*** __cdecl __MINGW_NOTHROW __p___wargv(void); - -#define __argc (*__p___argc()) -#define __argv (*__p___argv()) -#define __wargv (*__p___wargv()) - -#else /* !MSVCRT */ - -#ifndef __DECLSPEC_SUPPORTED - -extern int* _imp____argc_dll; -extern char*** _imp____argv_dll; -#define __argc (*_imp____argc_dll) -#define __argv (*_imp____argv_dll) - -#else /* __DECLSPEC_SUPPORTED */ - -__MINGW_IMPORT int __argc_dll; -__MINGW_IMPORT char** __argv_dll; -#define __argc __argc_dll -#define __argv __argv_dll - -#endif /* __DECLSPEC_SUPPORTED */ - -#endif /* __MSVCRT */ -#endif /* __STRICT_ANSI__ */ -/* - * Also defined in ctype.h. - */ -#ifndef MB_CUR_MAX -#ifdef __DECLSPEC_SUPPORTED -# ifdef __MSVCRT__ -# define MB_CUR_MAX __mb_cur_max - __MINGW_IMPORT int __mb_cur_max; -# else /* not __MSVCRT */ -# define MB_CUR_MAX __mb_cur_max_dll - __MINGW_IMPORT int __mb_cur_max_dll; -# endif /* not __MSVCRT */ - -#else /* ! __DECLSPEC_SUPPORTED */ -# ifdef __MSVCRT__ - extern int* _imp____mb_cur_max; -# define MB_CUR_MAX (*_imp____mb_cur_max) -# else /* not __MSVCRT */ - extern int* _imp____mb_cur_max_dll; -# define MB_CUR_MAX (*_imp____mb_cur_max_dll) -# endif /* not __MSVCRT */ -#endif /* __DECLSPEC_SUPPORTED */ -#endif /* MB_CUR_MAX */ - -/* - * MS likes to declare errno in stdlib.h as well. - */ - -#ifdef _UWIN -#undef errno -extern int errno; -#else - _CRTIMP int* __cdecl __MINGW_NOTHROW _errno(void); -#define errno (*_errno()) -#endif - _CRTIMP int* __cdecl __MINGW_NOTHROW __doserrno(void); -#define _doserrno (*__doserrno()) - -#if !defined (__STRICT_ANSI__) -/* - * Use environ from the DLL, not as a global. - */ - -#ifdef __MSVCRT__ - extern _CRTIMP char *** __cdecl __MINGW_NOTHROW __p__environ(void); - extern _CRTIMP wchar_t *** __cdecl __MINGW_NOTHROW __p__wenviron(void); -# define _environ (*__p__environ()) -# define _wenviron (*__p__wenviron()) -#else /* ! __MSVCRT__ */ -# ifndef __DECLSPEC_SUPPORTED - extern char *** _imp___environ_dll; -# define _environ (*_imp___environ_dll) -# else /* __DECLSPEC_SUPPORTED */ - __MINGW_IMPORT char ** _environ_dll; -# define _environ _environ_dll -# endif /* __DECLSPEC_SUPPORTED */ -#endif /* ! __MSVCRT__ */ - -#define environ _environ - -#ifdef __MSVCRT__ -/* One of the MSVCRTxx libraries */ - -#ifndef __DECLSPEC_SUPPORTED - extern int* _imp___sys_nerr; -# define sys_nerr (*_imp___sys_nerr) -#else /* __DECLSPEC_SUPPORTED */ - __MINGW_IMPORT int _sys_nerr; -# ifndef _UWIN -# define sys_nerr _sys_nerr -# endif /* _UWIN */ -#endif /* __DECLSPEC_SUPPORTED */ - -#else /* ! __MSVCRT__ */ - -/* CRTDLL run time library */ - -#ifndef __DECLSPEC_SUPPORTED - extern int* _imp___sys_nerr_dll; -# define sys_nerr (*_imp___sys_nerr_dll) -#else /* __DECLSPEC_SUPPORTED */ - __MINGW_IMPORT int _sys_nerr_dll; -# define sys_nerr _sys_nerr_dll -#endif /* __DECLSPEC_SUPPORTED */ - -#endif /* ! __MSVCRT__ */ - -#ifndef __DECLSPEC_SUPPORTED -extern char*** _imp__sys_errlist; -#define sys_errlist (*_imp___sys_errlist) -#else /* __DECLSPEC_SUPPORTED */ -__MINGW_IMPORT char* _sys_errlist[]; -#ifndef _UWIN -#define sys_errlist _sys_errlist -#endif /* _UWIN */ -#endif /* __DECLSPEC_SUPPORTED */ - -/* - * OS version and such constants. - */ - -#ifdef __MSVCRT__ -/* msvcrtxx.dll */ - -extern _CRTIMP unsigned __cdecl __MINGW_NOTHROW int* __p__osver(void); -extern _CRTIMP unsigned __cdecl __MINGW_NOTHROW int* __p__winver(void); -extern _CRTIMP unsigned __cdecl __MINGW_NOTHROW int* __p__winmajor(void); -extern _CRTIMP unsigned __cdecl __MINGW_NOTHROW int* __p__winminor(void); - -#ifndef __DECLSPEC_SUPPORTED -# define _osver (*__p__osver()) -# define _winver (*__p__winver()) -# define _winmajor (*__p__winmajor()) -# define _winminor (*__p__winminor()) -#else -__MINGW_IMPORT unsigned int _osver; -__MINGW_IMPORT unsigned int _winver; -__MINGW_IMPORT unsigned int _winmajor; -__MINGW_IMPORT unsigned int _winminor; -#endif /* __DECLSPEC_SUPPORTED */ - -#else -/* Not msvcrtxx.dll, thus crtdll.dll */ - -#ifndef __DECLSPEC_SUPPORTED - -extern unsigned int* _imp___osver_dll; -extern unsigned int* _imp___winver_dll; -extern unsigned int* _imp___winmajor_dll; -extern unsigned int* _imp___winminor_dll; - -#define _osver (*_imp___osver_dll) -#define _winver (*_imp___winver_dll) -#define _winmajor (*_imp___winmajor_dll) -#define _winminor (*_imp___winminor_dll) - -#else /* __DECLSPEC_SUPPORTED */ - -__MINGW_IMPORT unsigned int _osver_dll; -__MINGW_IMPORT unsigned int _winver_dll; -__MINGW_IMPORT unsigned int _winmajor_dll; -__MINGW_IMPORT unsigned int _winminor_dll; - -#define _osver _osver_dll -#define _winver _winver_dll -#define _winmajor _winmajor_dll -#define _winminor _winminor_dll - -#endif /* __DECLSPEC_SUPPORTED */ - -#endif - -#if defined __MSVCRT__ -/* although the _pgmptr is exported as DATA, - * be safe and use the access function __p__pgmptr() to get it. */ -_CRTIMP char** __cdecl __MINGW_NOTHROW __p__pgmptr(void); -#define _pgmptr (*__p__pgmptr()) -_CRTIMP wchar_t** __cdecl __MINGW_NOTHROW __p__wpgmptr(void); -#define _wpgmptr (*__p__wpgmptr()) -#else /* ! __MSVCRT__ */ -# ifndef __DECLSPEC_SUPPORTED - extern char** __imp__pgmptr_dll; -# define _pgmptr (*_imp___pgmptr_dll) -# else /* __DECLSPEC_SUPPORTED */ - __MINGW_IMPORT char* _pgmptr_dll; -# define _pgmptr _pgmptr_dll -# endif /* __DECLSPEC_SUPPORTED */ -/* no wide version in CRTDLL */ -#endif /* __MSVCRT__ */ - -/* - * This variable determines the default file mode. - * TODO: Which flags work? - */ -#if !defined (__DECLSPEC_SUPPORTED) || defined (__IN_MINGW_RUNTIME) - -#ifdef __MSVCRT__ -extern int* _imp___fmode; -#define _fmode (*_imp___fmode) -#else -/* CRTDLL */ -extern int* _imp___fmode_dll; -#define _fmode (*_imp___fmode_dll) -#endif - -#else /* __DECLSPEC_SUPPORTED */ - -#ifdef __MSVCRT__ -__MINGW_IMPORT int _fmode; -#else /* ! __MSVCRT__ */ -__MINGW_IMPORT int _fmode_dll; -#define _fmode _fmode_dll -#endif /* ! __MSVCRT__ */ - -#endif /* __DECLSPEC_SUPPORTED */ - -#endif /* Not __STRICT_ANSI__ */ - -_CRTIMP __int64 __cdecl _strtoi64(const char*, char **, int); -_CRTIMP __int64 __cdecl _strtoi64_l(const char *, char **, int, _locale_t); -_CRTIMP unsigned __int64 __cdecl _strtoui64(const char*, char **, int); -_CRTIMP unsigned __int64 __cdecl _strtoui64_l(const char *, char **, int, _locale_t); - -_CRTIMP double __cdecl __MINGW_NOTHROW atof (const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW atoi (const char*); -_CRTIMP long __cdecl __MINGW_NOTHROW atol (const char*); -#if !defined (__STRICT_ANSI__) -_CRTIMP double __cdecl __MINGW_NOTHROW _wtof (const wchar_t *); -_CRTIMP int __cdecl __MINGW_NOTHROW _wtoi (const wchar_t *); -_CRTIMP long __cdecl __MINGW_NOTHROW _wtol (const wchar_t *); -#endif -#if !defined __NO_ISOCEXT /* in libmingwex.a */ -double __cdecl __MINGW_NOTHROW __strtod (const char*, char**); -extern double __cdecl __MINGW_NOTHROW -strtod (const char* __restrict__ __nptr, char** __restrict__ __endptr); -float __cdecl __MINGW_NOTHROW strtof (const char * __restrict__, char ** __restrict__); -long double __cdecl __MINGW_NOTHROW strtold (const char * __restrict__, char ** __restrict__); -#else -_CRTIMP double __cdecl __MINGW_NOTHROW strtod (const char*, char**); -#endif /* __NO_ISOCEXT */ - -_CRTIMP long __cdecl __MINGW_NOTHROW strtol (const char*, char**, int); -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW strtoul (const char*, char**, int); - -#ifndef _WSTDLIB_DEFINED -/* also declared in wchar.h */ -_CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *, wchar_t **, int); -_CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *, wchar_t **, int, _locale_t); -_CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *, wchar_t **, int); -_CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *, wchar_t **, int, _locale_t); -_CRTIMP long __cdecl __MINGW_NOTHROW wcstol (const wchar_t*, wchar_t**, int); -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW wcstoul (const wchar_t*, wchar_t**, int); -_CRTIMP double __cdecl __MINGW_NOTHROW wcstod (const wchar_t*, wchar_t**); -#if !defined __NO_ISOCEXT /* in libmingwex.a */ -float __cdecl __MINGW_NOTHROW wcstof( const wchar_t * __restrict__, wchar_t ** __restrict__); -long double __cdecl __MINGW_NOTHROW wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__); -#endif /* __NO_ISOCEXT */ -#ifdef __MSVCRT__ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetenv(const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wputenv(const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wsystem(const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wfullpath (wchar_t*, const wchar_t*, size_t); -#endif -#define _WSTDLIB_DEFINED -#endif - -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcstombs (char*, const wchar_t*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW wctomb (char*, wchar_t); - -_CRTIMP int __cdecl __MINGW_NOTHROW mblen (const char*, size_t); -_CRTIMP size_t __cdecl __MINGW_NOTHROW mbstowcs (wchar_t*, const char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW mbtowc (wchar_t*, const char*, size_t); - -_CRTIMP int __cdecl __MINGW_NOTHROW rand (void); -_CRTIMP void __cdecl __MINGW_NOTHROW srand (unsigned int); - -_CRTIMP void* __cdecl __MINGW_NOTHROW calloc (size_t, size_t) __MINGW_ATTRIB_MALLOC; -_CRTIMP void* __cdecl __MINGW_NOTHROW malloc (size_t) __MINGW_ATTRIB_MALLOC; -_CRTIMP void* __cdecl __MINGW_NOTHROW realloc (void*, size_t); -_CRTIMP void __cdecl __MINGW_NOTHROW free (void*); -_CRTIMP void __cdecl __MINGW_NOTHROW abort (void) __MINGW_ATTRIB_NORETURN; -_CRTIMP void __cdecl __MINGW_NOTHROW exit (int) __MINGW_ATTRIB_NORETURN; - -/* Note: This is in startup code, not imported directly from dll */ -int __cdecl __MINGW_NOTHROW atexit (void (*)(void)); - -_CRTIMP int __cdecl __MINGW_NOTHROW system (const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW getenv (const char*); - -/* bsearch and qsort are also in non-ANSI header search.h */ -_CRTIMP void* __cdecl bsearch (const void*, const void*, size_t, size_t, - int (*)(const void*, const void*)); -_CRTIMP void __cdecl qsort(void*, size_t, size_t, - int (*)(const void*, const void*)); - -_CRTIMP int __cdecl __MINGW_NOTHROW abs (int) __MINGW_ATTRIB_CONST; -_CRTIMP long __cdecl __MINGW_NOTHROW labs (long) __MINGW_ATTRIB_CONST; - -/* - * div_t and ldiv_t are structures used to return the results of div and - * ldiv. - * - * NOTE: div and ldiv appear not to work correctly unless - * -fno-pcc-struct-return is specified. This is included in the - * mingw32 specs file. - */ -typedef struct { int quot, rem; } div_t; -typedef struct { long quot, rem; } ldiv_t; - -_CRTIMP div_t __cdecl __MINGW_NOTHROW div (int, int) __MINGW_ATTRIB_CONST; -_CRTIMP ldiv_t __cdecl __MINGW_NOTHROW ldiv (long, long) __MINGW_ATTRIB_CONST; - -#if !defined (__STRICT_ANSI__) - -/* - * NOTE: Officially the three following functions are obsolete. The Win32 API - * functions SetErrorMode, Beep and Sleep are their replacements. - */ -_CRTIMP void __cdecl __MINGW_NOTHROW _beep (unsigned int, unsigned int) __MINGW_ATTRIB_DEPRECATED; -/* Not to be confused with _set_error_mode (int). */ -_CRTIMP void __cdecl __MINGW_NOTHROW _seterrormode (int) __MINGW_ATTRIB_DEPRECATED; -_CRTIMP void __cdecl __MINGW_NOTHROW _sleep (unsigned long) __MINGW_ATTRIB_DEPRECATED; - -_CRTIMP void __cdecl __MINGW_NOTHROW _exit (int) __MINGW_ATTRIB_NORETURN; - -/* _onexit is MS extension. Use atexit for portability. */ -/* Note: This is in startup code, not imported directly from dll */ -typedef int (* _onexit_t)(void); -_onexit_t __cdecl __MINGW_NOTHROW _onexit( _onexit_t ); - -_CRTIMP int __cdecl __MINGW_NOTHROW _putenv (const char*); -_CRTIMP void __cdecl __MINGW_NOTHROW _searchenv (const char*, const char*, char*); - -_CRTIMP char* __cdecl __MINGW_NOTHROW _ecvt (double, int, int*, int*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _fcvt (double, int, int*, int*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _gcvt (double, int, char*); - -_CRTIMP void __cdecl __MINGW_NOTHROW _makepath (char*, const char*, const char*, const char*, const char*); -_CRTIMP void __cdecl __MINGW_NOTHROW _splitpath (const char*, char*, char*, char*, char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _fullpath (char*, const char*, size_t); - -_CRTIMP char* __cdecl __MINGW_NOTHROW _itoa (int, char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _ltoa (long, char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _ultoa(unsigned long, char*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _itow (int, wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _ltow (long, wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _ultow (unsigned long, wchar_t*, int); - -#ifdef __MSVCRT__ -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _atoi64(const char *); -_CRTIMP char* __cdecl __MINGW_NOTHROW _i64toa(__int64, char *, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _ui64toa(unsigned __int64, char *, int); -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _wtoi64(const wchar_t *); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _i64tow(__int64, wchar_t *, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _ui64tow(unsigned __int64, wchar_t *, int); - -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW (_rotl)(unsigned int, int) __MINGW_ATTRIB_CONST; -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW (_rotr)(unsigned int, int) __MINGW_ATTRIB_CONST; -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW (_lrotl)(unsigned long, int) __MINGW_ATTRIB_CONST; -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW (_lrotr)(unsigned long, int) __MINGW_ATTRIB_CONST; - -_CRTIMP int __cdecl __MINGW_NOTHROW _set_error_mode (int); - -# define _OUT_TO_DEFAULT 0 -# define _OUT_TO_STDERR 1 -# define _OUT_TO_MSGBOX 2 -# define _REPORT_ERRMODE 3 - -# if __MSVCRT_VERSION__ >= 0x800 -# ifndef _UINTPTR_T_DEFINED -# define _UINTPTR_T_DEFINED -# ifdef _WIN64 - typedef unsigned __int64 uintptr_t; -# else - typedef unsigned int uintptr_t; -# endif -# endif - -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _set_abort_behavior (unsigned int, unsigned int); - -/* These masks work with msvcr80.dll version 8.0.50215.44 (a beta release). */ -# define _WRITE_ABORT_MSG 1 -# define _CALL_REPORTFAULT 2 - -typedef void -(* _invalid_parameter_handler) ( - const wchar_t *, - const wchar_t *, - const wchar_t *, - unsigned int, - uintptr_t); -_invalid_parameter_handler _set_invalid_parameter_handler (_invalid_parameter_handler); - -# endif /* __MSVCRT_VERSION__ >= 0x800 */ -#endif /* __MSVCRT__ */ - -#ifndef _NO_OLDNAMES - -_CRTIMP int __cdecl __MINGW_NOTHROW putenv (const char*); -_CRTIMP void __cdecl __MINGW_NOTHROW searchenv (const char*, const char*, char*); - -_CRTIMP char* __cdecl __MINGW_NOTHROW itoa (int, char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW ltoa (long, char*, int); - -#ifndef _UWIN -_CRTIMP char* __cdecl __MINGW_NOTHROW ecvt (double, int, int*, int*); -_CRTIMP char* __cdecl __MINGW_NOTHROW fcvt (double, int, int*, int*); -_CRTIMP char* __cdecl __MINGW_NOTHROW gcvt (double, int, char*); -#endif /* _UWIN */ -#endif /* Not _NO_OLDNAMES */ - -#endif /* Not __STRICT_ANSI__ */ - -/* C99 names */ - -#if !defined __NO_ISOCEXT /* externs in static libmingwex.a */ - -/* C99 name for _exit */ -void __cdecl __MINGW_NOTHROW _Exit(int) __MINGW_ATTRIB_NORETURN; -#if !defined __NO_INLINE__ && !defined __STRICT_ANSI__ -__CRT_INLINE void __cdecl __MINGW_NOTHROW _Exit(int __status) - { _exit (__status); } -#endif - -typedef struct { long long quot, rem; } lldiv_t; - -lldiv_t __cdecl __MINGW_NOTHROW lldiv (long long, long long) __MINGW_ATTRIB_CONST; - -long long __cdecl __MINGW_NOTHROW llabs(long long); -#ifndef __NO_INLINE__ -__CRT_INLINE long long __cdecl __MINGW_NOTHROW llabs(long long _j) - {return (_j >= 0 ? _j : -_j);} -#endif - -long long __cdecl __MINGW_NOTHROW strtoll (const char* __restrict__, char** __restrict, int); -unsigned long long __cdecl __MINGW_NOTHROW strtoull (const char* __restrict__, char** __restrict__, int); - -#if defined (__MSVCRT__) /* these are stubs for MS _i64 versions */ -long long __cdecl __MINGW_NOTHROW atoll (const char *); - -#if !defined (__STRICT_ANSI__) -long long __cdecl __MINGW_NOTHROW wtoll (const wchar_t *); -char* __cdecl __MINGW_NOTHROW lltoa (long long, char *, int); -char* __cdecl __MINGW_NOTHROW ulltoa (unsigned long long , char *, int); -wchar_t* __cdecl __MINGW_NOTHROW lltow (long long, wchar_t *, int); -wchar_t* __cdecl __MINGW_NOTHROW ulltow (unsigned long long, wchar_t *, int); - - /* inline using non-ansi functions */ -#ifndef __NO_INLINE__ -__CRT_INLINE long long __cdecl __MINGW_NOTHROW atoll (const char * _c) - { return _atoi64 (_c); } -__CRT_INLINE char* __cdecl __MINGW_NOTHROW lltoa (long long _n, char * _c, int _i) - { return _i64toa (_n, _c, _i); } -__CRT_INLINE char* __cdecl __MINGW_NOTHROW ulltoa (unsigned long long _n, char * _c, int _i) - { return _ui64toa (_n, _c, _i); } -__CRT_INLINE long long __cdecl __MINGW_NOTHROW wtoll (const wchar_t * _w) - { return _wtoi64 (_w); } -__CRT_INLINE wchar_t* __cdecl __MINGW_NOTHROW lltow (long long _n, wchar_t * _w, int _i) - { return _i64tow (_n, _w, _i); } -__CRT_INLINE wchar_t* __cdecl __MINGW_NOTHROW ulltow (unsigned long long _n, wchar_t * _w, int _i) - { return _ui64tow (_n, _w, _i); } -#endif /* (__NO_INLINE__) */ -#endif /* (__STRICT_ANSI__) */ - -#endif /* __MSVCRT__ */ - -#endif /* !__NO_ISOCEXT */ - - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _STDLIB_H_ */ - diff --git a/winsup/mingw/include/string.h b/winsup/mingw/include/string.h deleted file mode 100644 index 2680d0a95..000000000 --- a/winsup/mingw/include/string.h +++ /dev/null @@ -1,201 +0,0 @@ -/* - * string.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Definitions for memory and string functions. - * - */ - -#ifndef _STRING_H_ -#define _STRING_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -/* - * Define size_t, wchar_t and NULL - */ -#define __need_size_t -#define __need_wchar_t -#define __need_NULL -#ifndef RC_INVOKED -#include <stddef.h> -#endif /* Not RC_INVOKED */ - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Prototypes of the ANSI Standard C library string functions. - */ -_CRTIMP void* __cdecl __MINGW_NOTHROW memchr (const void*, int, size_t) __MINGW_ATTRIB_PURE; -_CRTIMP int __cdecl __MINGW_NOTHROW memcmp (const void*, const void*, size_t) __MINGW_ATTRIB_PURE; -_CRTIMP void* __cdecl __MINGW_NOTHROW memcpy (void*, const void*, size_t); -_CRTIMP void* __cdecl __MINGW_NOTHROW memmove (void*, const void*, size_t); -_CRTIMP void* __cdecl __MINGW_NOTHROW memset (void*, int, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW strcat (char*, const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW strchr (const char*, int) __MINGW_ATTRIB_PURE; -_CRTIMP int __cdecl __MINGW_NOTHROW strcmp (const char*, const char*) __MINGW_ATTRIB_PURE; -_CRTIMP int __cdecl __MINGW_NOTHROW strcoll (const char*, const char*); /* Compare using locale */ -_CRTIMP char* __cdecl __MINGW_NOTHROW strcpy (char*, const char*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW strcspn (const char*, const char*) __MINGW_ATTRIB_PURE; -_CRTIMP char* __cdecl __MINGW_NOTHROW strerror (int); /* NOTE: NOT an old name wrapper. */ - -_CRTIMP size_t __cdecl __MINGW_NOTHROW strlen (const char*) __MINGW_ATTRIB_PURE; -_CRTIMP char* __cdecl __MINGW_NOTHROW strncat (char*, const char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW strncmp (const char*, const char*, size_t) __MINGW_ATTRIB_PURE; -_CRTIMP char* __cdecl __MINGW_NOTHROW strncpy (char*, const char*, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW strpbrk (const char*, const char*) __MINGW_ATTRIB_PURE; -_CRTIMP char* __cdecl __MINGW_NOTHROW strrchr (const char*, int) __MINGW_ATTRIB_PURE; -_CRTIMP size_t __cdecl __MINGW_NOTHROW strspn (const char*, const char*) __MINGW_ATTRIB_PURE; -_CRTIMP char* __cdecl __MINGW_NOTHROW strstr (const char*, const char*) __MINGW_ATTRIB_PURE; -_CRTIMP char* __cdecl __MINGW_NOTHROW strtok (char*, const char*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW strxfrm (char*, const char*, size_t); - -#ifndef __STRICT_ANSI__ -/* - * Extra non-ANSI functions provided by the CRTDLL library - */ -_CRTIMP char* __cdecl __MINGW_NOTHROW _strerror (const char *); -_CRTIMP void* __cdecl __MINGW_NOTHROW _memccpy (void*, const void*, int, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _memicmp (const void*, const void*, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strdup (const char*) __MINGW_ATTRIB_MALLOC; -_CRTIMP int __cdecl __MINGW_NOTHROW _strcmpi (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _stricmp (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _stricoll (const char*, const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strlwr (char*); -_CRTIMP int __cdecl __MINGW_NOTHROW _strnicmp (const char*, const char*, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strnset (char*, int, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strrev (char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strset (char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strupr (char*); -_CRTIMP void __cdecl __MINGW_NOTHROW _swab (const char*, char*, size_t); - -#ifdef __MSVCRT__ -_CRTIMP int __cdecl __MINGW_NOTHROW _strncoll(const char*, const char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _strnicoll(const char*, const char*, size_t); -#endif - -#ifndef _NO_OLDNAMES -/* - * Non-underscored versions of non-ANSI functions. They live in liboldnames.a - * and provide a little extra portability. Also a few extra UNIX-isms like - * strcasecmp. - */ -_CRTIMP void* __cdecl __MINGW_NOTHROW memccpy (void*, const void*, int, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW memicmp (const void*, const void*, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW strdup (const char*) __MINGW_ATTRIB_MALLOC; -_CRTIMP int __cdecl __MINGW_NOTHROW strcmpi (const char*, const char*); -_CRTIMP int __cdecl __MINGW_NOTHROW stricmp (const char*, const char*); -int __cdecl __MINGW_NOTHROW strcasecmp (const char*, const char *); -#ifndef __NO_INLINE__ -__CRT_INLINE int __cdecl __MINGW_NOTHROW -strcasecmp (const char * __sz1, const char * __sz2) - {return _stricmp (__sz1, __sz2);} -#endif -_CRTIMP int __cdecl __MINGW_NOTHROW stricoll (const char*, const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW strlwr (char*); -_CRTIMP int __cdecl __MINGW_NOTHROW strnicmp (const char*, const char*, size_t); -int __cdecl __MINGW_NOTHROW strncasecmp (const char *, const char *, size_t); -#ifndef __NO_INLINE__ -__CRT_INLINE int __cdecl __MINGW_NOTHROW -strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare) - {return _strnicmp (__sz1, __sz2, __sizeMaxCompare);} -#endif -_CRTIMP char* __cdecl __MINGW_NOTHROW strnset (char*, int, size_t); -_CRTIMP char* __cdecl __MINGW_NOTHROW strrev (char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW strset (char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW strupr (char*); -#ifndef _UWIN -_CRTIMP void __cdecl __MINGW_NOTHROW swab (const char*, char*, size_t); -#endif /* _UWIN */ -#endif /* _NO_OLDNAMES */ - -#endif /* Not __STRICT_ANSI__ */ - -#ifndef _WSTRING_DEFINED -/* - * Unicode versions of the standard calls. - * Also in wchar.h, where they belong according to ISO standard. - */ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcscat (wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcschr (const wchar_t*, wchar_t); -_CRTIMP int __cdecl __MINGW_NOTHROW wcscmp (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW wcscoll (const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcscpy (wchar_t*, const wchar_t*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcscspn (const wchar_t*, const wchar_t*); -/* Note: _wcserror requires __MSVCRT_VERSION__ >= 0x0700. */ -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcslen (const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsncat (wchar_t*, const wchar_t*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW wcsncmp(const wchar_t*, const wchar_t*, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsncpy(wchar_t*, const wchar_t*, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcspbrk(const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsrchr(const wchar_t*, wchar_t); -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcsspn(const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsstr(const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcstok(wchar_t*, const wchar_t*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcsxfrm(wchar_t*, const wchar_t*, size_t); - -#ifndef __STRICT_ANSI__ -/* - * Unicode versions of non-ANSI string functions provided by CRTDLL. - */ - -/* NOTE: _wcscmpi not provided by CRTDLL, this define is for portability */ -#define _wcscmpi _wcsicmp - -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsdup (const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsicmp (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsicoll (const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcslwr (wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsnicmp (const wchar_t*, const wchar_t*, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsnset (wchar_t*, wchar_t, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsrev (wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsset (wchar_t*, wchar_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsupr (wchar_t*); - -#ifdef __MSVCRT__ -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsncoll(const wchar_t*, const wchar_t*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsnicoll(const wchar_t*, const wchar_t*, size_t); -#if __MSVCRT_VERSION__ >= 0x0700 -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcserror(int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW __wcserror(const wchar_t*); -#endif -#endif - -#ifndef _NO_OLDNAMES -/* NOTE: There is no _wcscmpi, but this is for compatibility. */ -int __cdecl __MINGW_NOTHROW wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2); -#ifndef __NO_INLINE__ -__CRT_INLINE int __cdecl __MINGW_NOTHROW -wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2) - {return _wcsicmp (__ws1, __ws2);} -#endif -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsdup (const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW wcsicmp (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW wcsicoll (const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcslwr (wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW wcsnicmp (const wchar_t*, const wchar_t*, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsnset (wchar_t*, wchar_t, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsrev (wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsset (wchar_t*, wchar_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsupr (wchar_t*); -#endif /* Not _NO_OLDNAMES */ - -#endif /* Not strict ANSI */ - -#define _WSTRING_DEFINED -#endif /* _WSTRING_DEFINED */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _STRING_H_ */ diff --git a/winsup/mingw/include/strings.h b/winsup/mingw/include/strings.h deleted file mode 100644 index 2a777c2d7..000000000 --- a/winsup/mingw/include/strings.h +++ /dev/null @@ -1,12 +0,0 @@ -/* - File: strings.h - Copyright: Public Domain - - This file is provided because non ANSI fuctions are described in string.h - that belong in strings.h. These functions are provided for in the OLDNAME - libraries. -*/ -#if !defined(_STRINGS_H_) -# define _STRINGS_H_ 1 -# include <string.h> -#endif diff --git a/winsup/mingw/include/sys/fcntl.h b/winsup/mingw/include/sys/fcntl.h deleted file mode 100644 index a2090bc82..000000000 --- a/winsup/mingw/include/sys/fcntl.h +++ /dev/null @@ -1,7 +0,0 @@ -/* - * This file is part of the Mingw32 package. - * - * This fcntl.h maps to the root fcntl.h - */ - -#include <fcntl.h> diff --git a/winsup/mingw/include/sys/file.h b/winsup/mingw/include/sys/file.h deleted file mode 100644 index e95654c09..000000000 --- a/winsup/mingw/include/sys/file.h +++ /dev/null @@ -1,7 +0,0 @@ -/* - * This file is part of the Mingw32 package. - * - * This file.h maps to the root fcntl.h - * TODO? - */ -#include <fcntl.h> diff --git a/winsup/mingw/include/sys/locking.h b/winsup/mingw/include/sys/locking.h deleted file mode 100644 index eee5e3c54..000000000 --- a/winsup/mingw/include/sys/locking.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * locking.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Constants for the mode parameter of the locking function. - * - */ - -#ifndef _LOCKING_H_ -#define _LOCKING_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#define _LK_UNLCK 0 /* Unlock */ -#define _LK_LOCK 1 /* Lock */ -#define _LK_NBLCK 2 /* Non-blocking lock */ -#define _LK_RLCK 3 /* Lock for read only */ -#define _LK_NBRLCK 4 /* Non-blocking lock for read only */ - -#ifndef NO_OLDNAMES -#define LK_UNLCK _LK_UNLCK -#define LK_LOCK _LK_LOCK -#define LK_NBLCK _LK_NBLCK -#define LK_RLCK _LK_RLCK -#define LK_NBRLCK _LK_NBRLCK -#endif /* Not NO_OLDNAMES */ - -#endif /* Not _LOCKING_H_ */ diff --git a/winsup/mingw/include/sys/param.h b/winsup/mingw/include/sys/param.h deleted file mode 100644 index d38b46a5c..000000000 --- a/winsup/mingw/include/sys/param.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * param.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - */ - -#ifndef _SYS_PARAM_H -#define _SYS_PARAM_H - -#include <sys/types.h> -#include <limits.h> - -/* These are useful for cross-compiling */ -#define BIG_ENDIAN 4321 -#define LITTLE_ENDIAN 1234 -#define BYTE_ORDER LITTLE_ENDIAN - -#ifdef PATH_MAX -#define MAXPATHLEN PATH_MAX -#else -#define MAXPATHLEN 260 -#endif - -#endif diff --git a/winsup/mingw/include/sys/stat.h b/winsup/mingw/include/sys/stat.h deleted file mode 100644 index b20f29462..000000000 --- a/winsup/mingw/include/sys/stat.h +++ /dev/null @@ -1,279 +0,0 @@ -/* - * stat.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Symbolic constants for opening and creating files, also stat, fstat and - * chmod functions. - * - */ - -#ifndef _STAT_H_ -#define _STAT_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#define __need_size_t -#define __need_wchar_t -#ifndef RC_INVOKED -#include <stddef.h> -#endif /* Not RC_INVOKED */ - -#include <sys/types.h> - -/* - * Constants for the stat st_mode member. - */ -#define _S_IFIFO 0x1000 /* FIFO */ -#define _S_IFCHR 0x2000 /* Character */ -#define _S_IFBLK 0x3000 /* Block: Is this ever set under w32? */ -#define _S_IFDIR 0x4000 /* Directory */ -#define _S_IFREG 0x8000 /* Regular */ - -#define _S_IFMT 0xF000 /* File type mask */ - -#define _S_IEXEC 0x0040 -#define _S_IWRITE 0x0080 -#define _S_IREAD 0x0100 - -#define _S_IRWXU (_S_IREAD | _S_IWRITE | _S_IEXEC) -#define _S_IXUSR _S_IEXEC -#define _S_IWUSR _S_IWRITE -#define _S_IRUSR _S_IREAD - -#define _S_ISDIR(m) (((m) & _S_IFMT) == _S_IFDIR) -#define _S_ISFIFO(m) (((m) & _S_IFMT) == _S_IFIFO) -#define _S_ISCHR(m) (((m) & _S_IFMT) == _S_IFCHR) -#define _S_ISBLK(m) (((m) & _S_IFMT) == _S_IFBLK) -#define _S_ISREG(m) (((m) & _S_IFMT) == _S_IFREG) - -#ifndef _NO_OLDNAMES - -#define S_IFIFO _S_IFIFO -#define S_IFCHR _S_IFCHR -#define S_IFBLK _S_IFBLK -#define S_IFDIR _S_IFDIR -#define S_IFREG _S_IFREG -#define S_IFMT _S_IFMT -#define S_IEXEC _S_IEXEC -#define S_IWRITE _S_IWRITE -#define S_IREAD _S_IREAD -#define S_IRWXU _S_IRWXU -#define S_IXUSR _S_IXUSR -#define S_IWUSR _S_IWUSR -#define S_IRUSR _S_IRUSR - -#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) -#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) -#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) -#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) -#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) - -#endif /* Not _NO_OLDNAMES */ - -#ifndef RC_INVOKED - -#ifndef _STAT_DEFINED -/* - * The structure manipulated and returned by stat and fstat. - * - * NOTE: If called on a directory the values in the time fields are not only - * invalid, they will cause localtime et. al. to return NULL. And calling - * asctime with a NULL pointer causes an Invalid Page Fault. So watch it! - */ -struct _stat -{ - _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */ - _ino_t st_ino; /* Always zero ? */ - _mode_t st_mode; /* See above constants */ - short st_nlink; /* Number of links. */ - short st_uid; /* User: Maybe significant on NT ? */ - short st_gid; /* Group: Ditto */ - _dev_t st_rdev; /* Seems useless (not even filled in) */ - _off_t st_size; /* File size in bytes */ - time_t st_atime; /* Accessed date (always 00:00 hrs local - * on FAT) */ - time_t st_mtime; /* Modified time */ - time_t st_ctime; /* Creation time */ -}; - -#ifndef _NO_OLDNAMES -/* NOTE: Must be the same as _stat above. */ -struct stat -{ - dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */ - ino_t st_ino; /* Always zero ? */ - mode_t st_mode; /* See above constants */ - short st_nlink; /* Number of links. */ - short st_uid; /* User: Maybe significant on NT ? */ - short st_gid; /* Group: Ditto */ - dev_t st_rdev; /* Seems useless (not even filled in) */ - off_t st_size; /* File size in bytes */ - time_t st_atime; /* Accessed date (always 00:00 hrs local - * on FAT) */ - time_t st_mtime; /* Modified time */ - time_t st_ctime; /* Creation time */ -}; -#endif /* _NO_OLDNAMES */ - -#if defined (__MSVCRT__) -struct _stati64 { - _dev_t st_dev; - _ino_t st_ino; - _mode_t st_mode; - short st_nlink; - short st_uid; - short st_gid; - _dev_t st_rdev; - __int64 st_size; - time_t st_atime; - time_t st_mtime; - time_t st_ctime; -}; -#if __MSVCRT_VERSION__ >= 0x0601 -struct __stat64 -{ - _dev_t st_dev; - _ino_t st_ino; - _mode_t st_mode; - short st_nlink; - short st_uid; - short st_gid; - _dev_t st_rdev; - __int64 st_size; - __time64_t st_atime; - __time64_t st_mtime; - __time64_t st_ctime; -}; -#endif /* __MSVCRT_VERSION__ >= 0x0601 */ -#if __MSVCRT_VERSION__ >= 0x0800 -struct __stat32 -{ - _dev_t st_dev; - _ino_t st_ino; - _mode_t st_mode; - short st_nlink; - short st_uid; - short st_gid; - _dev_t st_rdev; - __int32 st_size; - __time32_t st_atime; - __time32_t st_mtime; - __time32_t st_ctime; -}; -struct _stat32i64 { - _dev_t st_dev; - _ino_t st_ino; - _mode_t st_mode; - short st_nlink; - short st_uid; - short st_gid; - _dev_t st_rdev; - __int64 st_size; - __time32_t st_atime; - __time32_t st_mtime; - __time32_t st_ctime; -}; -struct _stat64i32 { - _dev_t st_dev; - _ino_t st_ino; - _mode_t st_mode; - short st_nlink; - short st_uid; - short st_gid; - _dev_t st_rdev; - __int32 st_size; - __time64_t st_atime; - __time64_t st_mtime; - __time64_t st_ctime; -}; -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ -#endif /* __MSVCRT__ */ -#define _STAT_DEFINED -#endif /* _STAT_DEFINED */ - -#ifdef __cplusplus -extern "C" { -#endif - -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP int __cdecl __MINGW_NOTHROW _fstat (int, struct _stat*); -#endif -_CRTIMP int __cdecl __MINGW_NOTHROW _chmod (const char*, int); -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP int __cdecl __MINGW_NOTHROW _stat (const char*, struct _stat*); -#endif - -#ifndef _NO_OLDNAMES -/* FIXME for __MSVCRT_VERSION__ >= 0x0800 */ -/* These functions live in liboldnames.a. */ -_CRTIMP int __cdecl __MINGW_NOTHROW fstat (int, struct stat*); -_CRTIMP int __cdecl __MINGW_NOTHROW chmod (const char*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW stat (const char*, struct stat*); - -#endif /* Not _NO_OLDNAMES */ - -#if defined (__MSVCRT__) -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP int __cdecl __MINGW_NOTHROW _fstati64(int, struct _stati64 *); -_CRTIMP int __cdecl __MINGW_NOTHROW _stati64(const char *, struct _stati64 *); -#endif -/* These require newer versions of msvcrt.dll (6.10 or higher). */ -#if __MSVCRT_VERSION__ >= 0x0601 -_CRTIMP int __cdecl __MINGW_NOTHROW _fstat64 (int, struct __stat64*); -_CRTIMP int __cdecl __MINGW_NOTHROW _stat64 (const char*, struct __stat64*); -#endif /* __MSVCRT_VERSION__ >= 0x0601 */ -#if __MSVCRT_VERSION__ >= 0x0800 -_CRTIMP int __cdecl __MINGW_NOTHROW _fstat32 (int, struct __stat32*); -_CRTIMP int __cdecl __MINGW_NOTHROW _stat32 (const char*, struct __stat32*); -_CRTIMP int __cdecl __MINGW_NOTHROW _fstat32i64 (int, struct _stat32i64*); -_CRTIMP int __cdecl __MINGW_NOTHROW _fstat64i32 (int, struct _stat64i32*); -_CRTIMP int __cdecl __MINGW_NOTHROW _stat32i64 (const char*, struct _stat32i64*); -_CRTIMP int __cdecl __MINGW_NOTHROW _stat64i32 (const char*, struct _stat64i32*); -#ifndef _USE_32BIT_TIME_T -_CRTALIAS int __cdecl __MINGW_NOTHROW _fstat (int _v1, struct _stat* _v2) { return(_fstat64i32 (_v1,(struct _stat64i32*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _stat (const char* _v1, struct _stat* _v2) { return(_stat64i32 (_v1,(struct _stat64i32*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _fstati64 (int _v1, struct _stati64* _v2) { return(_fstat64 (_v1,(struct __stat64*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _stati64 (const char* _v1, struct _stati64* _v2) { return(_stat64 (_v1,(struct __stat64*)_v2)); } -#else -_CRTALIAS int __cdecl __MINGW_NOTHROW _fstat (int _v1, struct _stat* _v2) { return(_fstat32 (_v1,(struct __stat32*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _stat (const char* _v1, struct _stat* _v2) { return(_stat32 (_v1,(struct __stat32*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _fstati64 (int _v1, struct _stati64* _v2) { return(_fstat32i64 (_v1,(struct _stat32i64*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _stati64 (const char* _v1, struct _stati64* _v2) { return(_stat32i64 (_v1,(struct _stat32i64*)_v2)); } -#endif /* !_USE_32BIT_TIME_T */ -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ - - -#if !defined ( _WSTAT_DEFINED) /* also declared in wchar.h */ -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP int __cdecl __MINGW_NOTHROW _wstat(const wchar_t*, struct _stat*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wstati64 (const wchar_t*, struct _stati64*); -#endif -#if __MSVCRT_VERSION__ >= 0x0601 -_CRTIMP int __cdecl __MINGW_NOTHROW _wstat64 (const wchar_t*, struct __stat64*); -#endif /* __MSVCRT_VERSION__ >= 0x0601 */ -#if __MSVCRT_VERSION__ >= 0x0800 -_CRTIMP int __cdecl __MINGW_NOTHROW _wstat32 (const wchar_t*, struct __stat32*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wstat32i64 (const wchar_t*, struct _stat32i64*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wstat64i32 (const wchar_t*, struct _stat64i32*); -#ifndef _USE_32BIT_TIME_T -_CRTALIAS int __cdecl __MINGW_NOTHROW _wstat (const wchar_t* _v1, struct _stat* _v2) { return(_wstat64i32 (_v1,(struct _stat64i32*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wstati64 (const wchar_t* _v1, struct _stati64* _v2) { return(_wstat64 (_v1,(struct __stat64*)_v2)); } -#else -_CRTALIAS int __cdecl __MINGW_NOTHROW _wstat (const wchar_t* _v1, struct _stat* _v2) { return(_wstat32 (_v1,(struct __stat32*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wstati64 (const wchar_t* _v1, struct _stati64* _v2) { return(_wstat32i64 (_v1,(struct _stat32i64*)_v2)); } -#endif /* !_USE_32BIT_TIME_T */ -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ -#define _WSTAT_DEFINED -#endif /* _WSTAT_DEFIND */ -#endif /* __MSVCRT__ */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _STAT_H_ */ diff --git a/winsup/mingw/include/sys/time.h b/winsup/mingw/include/sys/time.h deleted file mode 100644 index b689d736b..000000000 --- a/winsup/mingw/include/sys/time.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef _SYS_TIME_H_ -#define _SYS_TIME_H_ -#include <time.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _TIMEVAL_DEFINED /* also in winsock[2].h */ -#define _TIMEVAL_DEFINED -struct timeval { - long tv_sec; - long tv_usec; -}; -#define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) -#define timercmp(tvp, uvp, cmp) \ - (((tvp)->tv_sec != (uvp)->tv_sec) ? \ - ((tvp)->tv_sec cmp (uvp)->tv_sec) : \ - ((tvp)->tv_usec cmp (uvp)->tv_usec)) -#define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0 -#endif /* _TIMEVAL_DEFINED */ - -/* Provided for compatibility with code that assumes that - the presence of gettimeofday function implies a definition - of struct timezone. */ -struct timezone -{ - int tz_minuteswest; /* of Greenwich */ - int tz_dsttime; /* type of dst correction to apply */ -}; - -/* - Implementation as per: - The Open Group Base Specifications, Issue 6 - IEEE Std 1003.1, 2004 Edition - - The timezone pointer arg is ignored. Errors are ignored. -*/ -int __cdecl __MINGW_NOTHROW gettimeofday(struct timeval *__restrict__, - void *__restrict__ /* tzp (unused) */); - -#ifdef __cplusplus -} -#endif - - -#endif /* _SYS_TIME_H_ */ diff --git a/winsup/mingw/include/sys/timeb.h b/winsup/mingw/include/sys/timeb.h deleted file mode 100644 index 0c0d4445a..000000000 --- a/winsup/mingw/include/sys/timeb.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - * timeb.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Support for the UNIX System V ftime system call. - * - */ - -#ifndef _TIMEB_H_ -#define _TIMEB_H_ - -/* All the headers include this file. */ -#include <_mingw.h> -#include <sys/types.h> - -#ifndef RC_INVOKED - -/* - * TODO: Structure not tested. - */ -struct _timeb -{ - time_t time; - short millitm; - short timezone; - short dstflag; -}; - -#if __MSVCRT_VERSION__ >= 0x0800 -/* - * TODO: Structure not tested. - */ -struct __timeb32 -{ - __time32_t time; - short millitm; - short timezone; - short dstflag; -}; -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ - -#ifndef _NO_OLDNAMES -/* - * TODO: Structure not tested. - */ -struct timeb -{ - time_t time; - short millitm; - short timezone; - short dstflag; -}; -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* TODO: Not tested. */ -_CRTIMP void __cdecl __MINGW_NOTHROW _ftime (struct _timeb*); - -#ifndef _NO_OLDNAMES -/* FIXME for __MSVCRT_VERSION__ >= 0x0800 */ -_CRTIMP void __cdecl __MINGW_NOTHROW ftime (struct timeb*); -#endif /* Not _NO_OLDNAMES */ - -/* This requires newer versions of msvcrt.dll (6.10 or higher). */ -#if __MSVCRT_VERSION__ >= 0x0601 -struct __timeb64 -{ - __time64_t time; - short millitm; - short timezone; - short dstflag; -}; - -_CRTIMP void __cdecl __MINGW_NOTHROW _ftime64 (struct __timeb64*); -#endif /* __MSVCRT_VERSION__ >= 0x0601 */ - -#if __MSVCRT_VERSION__ >= 0x0800 -_CRTIMP void __cdecl __MINGW_NOTHROW _ftime32 (struct __timeb32*); -#ifndef _USE_32BIT_TIME_T -_CRTALIAS void __cdecl __MINGW_NOTHROW _ftime (struct _timeb* _v) { return(_ftime64 ((struct __timeb64*)_v)); } -#else -_CRTALIAS void __cdecl __MINGW_NOTHROW _ftime (struct _timeb* _v) { return(_ftime32 ((struct __timeb32*)_v)); } -#endif -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _TIMEB_H_ */ diff --git a/winsup/mingw/include/sys/types.h b/winsup/mingw/include/sys/types.h deleted file mode 100644 index 26d91254e..000000000 --- a/winsup/mingw/include/sys/types.h +++ /dev/null @@ -1,138 +0,0 @@ -/* - * types.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * The definition of constants, data types and global variables. - * - */ - -#ifndef _TYPES_H_ -#define _TYPES_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#define __need_wchar_t -#define __need_size_t -#define __need_ptrdiff_t -#ifndef RC_INVOKED -#include <stddef.h> -#endif /* Not RC_INVOKED */ - -#ifndef RC_INVOKED - -#ifndef _TIME32_T_DEFINED -typedef __int32 __time32_t; -#define _TIME32_T_DEFINED -#endif - -#ifndef _TIME64_T_DEFINED -typedef __int64 __time64_t; -#define _TIME64_T_DEFINED -#endif - -#ifndef _TIME_T_DEFINED -/* FIXME __STRICT_ANSI__ ! */ -#if __MSVCRT_VERSION__ >= 0x0800 -#ifndef _USE_32BIT_TIME_T -typedef __time64_t time_t; -#else -typedef __time32_t time_t; -#endif /* !_USE_32BIT_TIME_T */ -#else -typedef __time32_t time_t; -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ -#define _TIME_T_DEFINED -#endif - -#ifndef _OFF_T_ -#define _OFF_T_ -typedef long _off_t; - -#ifndef _NO_OLDNAMES -typedef _off_t off_t; -#endif -#endif /* Not _OFF_T_ */ - - -#ifndef _DEV_T_ -#define _DEV_T_ -#ifdef __MSVCRT__ -typedef unsigned int _dev_t; -#else -typedef short _dev_t; -#endif - -#ifndef _NO_OLDNAMES -typedef _dev_t dev_t; -#endif -#endif /* Not _DEV_T_ */ - - -#ifndef _INO_T_ -#define _INO_T_ -typedef short _ino_t; - -#ifndef _NO_OLDNAMES -typedef _ino_t ino_t; -#endif -#endif /* Not _INO_T_ */ - - -#ifndef _PID_T_ -#define _PID_T_ -typedef int _pid_t; - -#ifndef _NO_OLDNAMES -typedef _pid_t pid_t; -#endif -#endif /* Not _PID_T_ */ - - -#ifndef _MODE_T_ -#define _MODE_T_ -typedef unsigned short _mode_t; - -#ifndef _NO_OLDNAMES -typedef _mode_t mode_t; -#endif -#endif /* Not _MODE_T_ */ - - -#ifndef _SIGSET_T_ -#define _SIGSET_T_ -typedef int _sigset_t; - -#ifndef _NO_OLDNAMES -typedef _sigset_t sigset_t; -#endif -#endif /* Not _SIGSET_T_ */ - -#ifndef _SSIZE_T_ -#define _SSIZE_T_ -typedef int _ssize_t; - -#ifndef _NO_OLDNAMES -typedef _ssize_t ssize_t; -#endif -#endif /* Not _SSIZE_T_ */ - -#ifndef _FPOS64_T_ -#define _FPOS64_T_ -typedef long long fpos64_t; -#endif - -#ifndef _OFF64_T_ -#define _OFF64_T_ -typedef long long off64_t; -#endif - -#if !defined __NO_ISOCEXT -typedef unsigned int useconds_t; -#endif /* Not __NO_ISOCEXT */ - -#endif /* Not RC_INVOKED */ - -#endif /* Not _TYPES_H_ */ diff --git a/winsup/mingw/include/sys/unistd.h b/winsup/mingw/include/sys/unistd.h deleted file mode 100644 index 39eac4a90..000000000 --- a/winsup/mingw/include/sys/unistd.h +++ /dev/null @@ -1,6 +0,0 @@ -/* - * This file is part of the Mingw32 package. - * - * unistd.h maps (roughly) to io.h - */ -#include <io.h> diff --git a/winsup/mingw/include/sys/utime.h b/winsup/mingw/include/sys/utime.h deleted file mode 100644 index b2cbe9a7e..000000000 --- a/winsup/mingw/include/sys/utime.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * utime.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Support for the utime function. - * - */ -#ifndef _UTIME_H_ -#define _UTIME_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#define __need_wchar_t -#define __need_size_t -#ifndef RC_INVOKED -#include <stddef.h> -#endif /* Not RC_INVOKED */ -#include <sys/types.h> - -#ifndef RC_INVOKED - -/* - * Structure used by _utime function. - */ -struct _utimbuf -{ - time_t actime; /* Access time */ - time_t modtime; /* Modification time */ -}; -#if __MSVCRT_VERSION__ >= 0x0800 -struct __utimbuf32 -{ - __time32_t actime; - __time32_t modtime; -}; -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ - - -#ifndef _NO_OLDNAMES -/* NOTE: Must be the same as _utimbuf above. */ -struct utimbuf -{ - time_t actime; - time_t modtime; -}; -#endif /* Not _NO_OLDNAMES */ - -#ifdef __cplusplus -extern "C" { -#endif - -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP int __cdecl __MINGW_NOTHROW _utime (const char*, struct _utimbuf*); -#endif - -#ifndef _NO_OLDNAMES -/* FIXME for __MSVCRT_VERSION__ >= 0x0800 */ -_CRTIMP int __cdecl __MINGW_NOTHROW utime (const char*, struct utimbuf*); -#endif /* Not _NO_OLDNAMES */ - -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP int __cdecl __MINGW_NOTHROW _futime (int, struct _utimbuf*); -#endif - -/* The wide character version, only available for MSVCRT versions of the - * C runtime library. */ -#ifdef __MSVCRT__ -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP int __cdecl __MINGW_NOTHROW _wutime (const wchar_t*, struct _utimbuf*); -#endif -#endif /* MSVCRT runtime */ - -/* These require newer versions of msvcrt.dll (6.10 or higher). */ -#if __MSVCRT_VERSION__ >= 0x0601 -struct __utimbuf64 -{ - __time64_t actime; - __time64_t modtime; -}; - -_CRTIMP int __cdecl __MINGW_NOTHROW _utime64 (const char*, struct __utimbuf64*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wutime64 (const wchar_t*, struct __utimbuf64*); -_CRTIMP int __cdecl __MINGW_NOTHROW _futime64 (int, struct __utimbuf64*); -#endif /* __MSVCRT_VERSION__ >= 0x0601 */ - -#if __MSVCRT_VERSION__ >= 0x0800 -_CRTIMP int __cdecl __MINGW_NOTHROW _utime32 (const char*, struct __utimbuf32*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wutime32 (const wchar_t*, struct __utimbuf32*); -_CRTIMP int __cdecl __MINGW_NOTHROW _futime32 (int, struct __utimbuf32*); -#ifndef _USE_32BIT_TIME_T -_CRTALIAS int __cdecl __MINGW_NOTHROW _utime (const char* _v1, struct _utimbuf* _v2) { return(_utime64 (_v1,(struct __utimbuf64*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wutime (const wchar_t* _v1, struct _utimbuf* _v2) { return(_wutime64 (_v1,(struct __utimbuf64*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _futime (int _v1, struct _utimbuf* _v2) { return(_futime64 (_v1,(struct __utimbuf64*)_v2)); } -#else -_CRTALIAS int __cdecl __MINGW_NOTHROW _utime (const char* _v1, struct _utimbuf* _v2) { return(_utime32 (_v1,(struct __utimbuf32*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wutime (const wchar_t* _v1, struct _utimbuf* _v2) { return(_wutime32 (_v1,(struct __utimbuf32*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _futime (int _v1, struct _utimbuf* _v2) { return(_futime32 (_v1,(struct __utimbuf32*)_v2)); } -#endif -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _UTIME_H_ */ diff --git a/winsup/mingw/include/tchar.h b/winsup/mingw/include/tchar.h deleted file mode 100644 index 99858510d..000000000 --- a/winsup/mingw/include/tchar.h +++ /dev/null @@ -1,484 +0,0 @@ -/* - * tchar.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Unicode mapping layer for the standard C library. By including this - * file and using the 't' names for string functions - * (eg. _tprintf) you can make code which can be easily adapted to both - * Unicode and non-unicode environments. In a unicode enabled compile define - * _UNICODE before including tchar.h, otherwise the standard non-unicode - * library functions will be used. - * - * Note that you still need to include string.h or stdlib.h etc. to define - * the appropriate functions. Also note that there are several defines - * included for non-ANSI functions which are commonly available (but using - * the convention of prepending an underscore to non-ANSI library function - * names). - * - */ - -#ifndef _TCHAR_H_ -#define _TCHAR_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -/* - * NOTE: This tests _UNICODE, which is different from the UNICODE define - * used to differentiate Win32 API calls. - */ -#ifdef _UNICODE - -/* - * Include <wchar.h> for wchar_t and WEOF if _UNICODE. - */ -#include <wchar.h> - -/* - * Use TCHAR instead of char or wchar_t. It will be appropriately translated - * if _UNICODE is correctly defined (or not). - */ -#ifndef _TCHAR_DEFINED -#ifndef RC_INVOKED -typedef wchar_t TCHAR; -typedef wchar_t _TCHAR; -#endif /* Not RC_INVOKED */ -#define _TCHAR_DEFINED -#endif - -/* - * Use _TEOF instead of EOF or WEOF. It will be appropriately translated if - * _UNICODE is correctly defined (or not). - */ -#define _TEOF WEOF - -/* - * __TEXT is a private macro whose specific use is to force the expansion of a - * macro passed as an argument to the macros _T or _TEXT. DO NOT use this - * macro within your programs. It's name and function could change without - * notice. - */ -#define __TEXT(q) L##q - -/* for porting from other Windows compilers */ -#if 0 /* no wide startup module */ -#define _tmain wmain -#define _tWinMain wWinMain -#define _tenviron _wenviron -#define __targv __wargv -#endif - -/* - * Unicode functions - */ -#define _tprintf wprintf -#define _ftprintf fwprintf -#define _stprintf swprintf -#define _sntprintf _snwprintf -#define _vtprintf vwprintf -#define _vftprintf vfwprintf -#define _vstprintf vswprintf -#define _vsntprintf _vsnwprintf -#define _vsctprintf _vscwprintf -#define _tscanf wscanf -#define _ftscanf fwscanf -#define _stscanf swscanf -#define _fgettc fgetwc -#define _fgettchar _fgetwchar -#define _fgetts fgetws -#define _fputtc fputwc -#define _fputtchar _fputwchar -#define _fputts fputws -#define _gettc getwc -#define _getts _getws -#define _puttc putwc -#define _puttchar putwchar -#define _putts _putws -#define _ungettc ungetwc -#define _tcstod wcstod -#define _tcstol wcstol -#define _tcstoul wcstoul -#define _itot _itow -#define _ltot _ltow -#define _ultot _ultow -#define _ttoi _wtoi -#define _ttol _wtol -#define _tcscat wcscat -#define _tcschr wcschr -#define _tcscmp wcscmp -#define _tcscpy wcscpy -#define _tcscspn wcscspn -#define _tcslen wcslen -#define _tcsncat wcsncat -#define _tcsncmp wcsncmp -#define _tcsncpy wcsncpy -#define _tcspbrk wcspbrk -#define _tcsrchr wcsrchr -#define _tcsspn wcsspn -#define _tcsstr wcsstr -#define _tcstok wcstok -#define _tcsdup _wcsdup -#define _tcsicmp _wcsicmp -#define _tcsnicmp _wcsnicmp -#define _tcsnset _wcsnset -#define _tcsrev _wcsrev -#define _tcsset _wcsset -#define _tcslwr _wcslwr -#define _tcsupr _wcsupr -#define _tcsxfrm wcsxfrm -#define _tcscoll wcscoll -#define _tcsicoll _wcsicoll -#define _istalpha iswalpha -#define _istupper iswupper -#define _istlower iswlower -#define _istdigit iswdigit -#define _istxdigit iswxdigit -#define _istspace iswspace -#define _istpunct iswpunct -#define _istalnum iswalnum -#define _istprint iswprint -#define _istgraph iswgraph -#define _istcntrl iswcntrl -#define _istascii iswascii -#define _totupper towupper -#define _totlower towlower -#define _tcsftime wcsftime -/* Macro functions */ -#define _tcsdec _wcsdec -#define _tcsinc _wcsinc -#define _tcsnbcnt _wcsncnt -#define _tcsnccnt _wcsncnt -#define _tcsnextc _wcsnextc -#define _tcsninc _wcsninc -#define _tcsspnp _wcsspnp -#define _wcsdec(_wcs1, _wcs2) ((_wcs1)>=(_wcs2) ? NULL : (_wcs2)-1) -#define _wcsinc(_wcs) ((_wcs)+1) -#define _wcsnextc(_wcs) ((unsigned int) *(_wcs)) -#define _wcsninc(_wcs, _inc) (((_wcs)+(_inc))) -#define _wcsncnt(_wcs, _cnt) ((wcslen(_wcs)>_cnt) ? _count : wcslen(_wcs)) -#define _wcsspnp(_wcs1, _wcs2) ((*((_wcs1)+wcsspn(_wcs1,_wcs2))) ? ((_wcs1)+wcsspn(_wcs1,_wcs2)) : NULL) - -#if 1 /* defined __MSVCRT__ */ -/* - * These wide functions not in crtdll.dll. - * Define macros anyway so that _wfoo rather than _tfoo is undefined - */ -#define _ttoi64 _wtoi64 -#define _i64tot _i64tow -#define _ui64tot _ui64tow -#define _tasctime _wasctime -#define _tctime _wctime -#if __MSVCRT_VERSION__ >= 0x0800 -#define _tctime32 _wctime32 -#define _tctime64 _wctime64 -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ -#define _tstrdate _wstrdate -#define _tstrtime _wstrtime -#define _tutime _wutime -#if __MSVCRT_VERSION__ >= 0x0800 -#define _tutime64 _wutime64 -#define _tutime32 _wutime32 -#endif /* __MSVCRT_VERSION__ > 0x0800 */ -#define _tcsnccoll _wcsncoll -#define _tcsncoll _wcsncoll -#define _tcsncicoll _wcsnicoll -#define _tcsnicoll _wcsnicoll -#define _taccess _waccess -#define _tchmod _wchmod -#define _tcreat _wcreat -#define _tfindfirst _wfindfirst -#define _tfindnext _wfindnext -#if __MSVCRT_VERSION__ >= 0x0800 -#define _tfindfirst64 _wfindfirst64 -#define _tfindfirst32 _wfindfirst32 -#define _tfindnext64 _wfindnext64 -#define _tfindnext32 _wfindnext32 -#endif /* __MSVCRT_VERSION__ > 0x0800 */ -#define _tfdopen _wfdopen -#define _tfopen _wfopen -#define _tfreopen _wfreopen -#define _tfsopen _wfsopen -#define _tgetenv _wgetenv -#define _tputenv _wputenv -#define _tsearchenv _wsearchenv -#define _tsystem _wsystem -#define _tmakepath _wmakepath -#define _tsplitpath _wsplitpath -#define _tfullpath _wfullpath -#define _tmktemp _wmktemp -#define _topen _wopen -#define _tremove _wremove -#define _trename _wrename -#define _tsopen _wsopen -#define _tsetlocale _wsetlocale -#define _tunlink _wunlink -#define _tfinddata_t _wfinddata_t -#define _tfindfirsti64 _wfindfirsti64 -#define _tfindnexti64 _wfindnexti64 -#define _tfinddatai64_t _wfinddatai64_t -#if __MSVCRT_VERSION__ >= 0x0601 -#define _tfinddata64_t _wfinddata64_t -#endif -#if __MSVCRT_VERSION__ >= 0x0800 -#define _tfinddata32_t _wfinddata32_t -#define _tfinddata32i64_t _wfinddata32i64_t -#define _tfinddata64i32_t _wfinddata64i32_t -#define _tfindfirst32i64 _wfindfirst32i64 -#define _tfindfirst64i32 _wfindfirst64i32 -#define _tfindnext32i64 _wfindnext32i64 -#define _tfindnext64i32 _wfindnext64i32 -#endif /* __MSVCRT_VERSION__ > 0x0800 */ -#define _tchdir _wchdir -#define _tgetcwd _wgetcwd -#define _tgetdcwd _wgetdcwd -#define _tmkdir _wmkdir -#define _trmdir _wrmdir -#define _tstat _wstat -#define _tstati64 _wstati64 -#define _tstat64 _wstat64 -#if __MSVCRT_VERSION__ >= 0x0800 -#define _tstat32 _wstat32 -#define _tstat32i64 _wstat32i64 -#define _tstat64i32 _wstat64i32 -#endif /* __MSVCRT_VERSION__ > 0x0800 */ -#endif /* __MSVCRT__ */ - -/* dirent structures and functions */ -#define _tdirent _wdirent -#define _TDIR _WDIR -#define _topendir _wopendir -#define _tclosedir _wclosedir -#define _treaddir _wreaddir -#define _trewinddir _wrewinddir -#define _ttelldir _wtelldir -#define _tseekdir _wseekdir - -#else /* Not _UNICODE */ - -/* - * TCHAR, the type you should use instead of char. - */ -#ifndef _TCHAR_DEFINED -#ifndef RC_INVOKED -typedef char TCHAR; -typedef char _TCHAR; -#endif -#define _TCHAR_DEFINED -#endif - -/* - * _TEOF, the constant you should use instead of EOF. - */ -#define _TEOF EOF - -/* - * __TEXT is a private macro whose specific use is to force the expansion of a - * macro passed as an argument to the macros _T or _TEXT. DO NOT use this - * macro within your programs. It's name and function could change without - * notice. - */ -#define __TEXT(q) q - -/* for porting from other Windows compilers */ -#define _tmain main -#define _tWinMain WinMain -#define _tenviron _environ -#define __targv __argv - -/* - * Non-unicode (standard) functions - */ - -#define _tprintf printf -#define _ftprintf fprintf -#define _stprintf sprintf -#define _sntprintf _snprintf -#define _vtprintf vprintf -#define _vftprintf vfprintf -#define _vstprintf vsprintf -#define _vsntprintf _vsnprintf -#define _vsctprintf _vscprintf -#define _tscanf scanf -#define _ftscanf fscanf -#define _stscanf sscanf -#define _fgettc fgetc -#define _fgettchar _fgetchar -#define _fgetts fgets -#define _fputtc fputc -#define _fputtchar _fputchar -#define _fputts fputs -#define _tfdopen _fdopen -#define _tfopen fopen -#define _tfreopen freopen -#define _tfsopen _fsopen -#define _tgetenv getenv -#define _tputenv _putenv -#define _tsearchenv _searchenv -#define _tsystem system -#define _tmakepath _makepath -#define _tsplitpath _splitpath -#define _tfullpath _fullpath -#define _gettc getc -#define _getts gets -#define _puttc putc -#define _puttchar putchar -#define _putts puts -#define _ungettc ungetc -#define _tcstod strtod -#define _tcstol strtol -#define _tcstoul strtoul -#define _itot _itoa -#define _ltot _ltoa -#define _ultot _ultoa -#define _ttoi atoi -#define _ttol atol -#define _tcscat strcat -#define _tcschr strchr -#define _tcscmp strcmp -#define _tcscpy strcpy -#define _tcscspn strcspn -#define _tcslen strlen -#define _tcsncat strncat -#define _tcsncmp strncmp -#define _tcsncpy strncpy -#define _tcspbrk strpbrk -#define _tcsrchr strrchr -#define _tcsspn strspn -#define _tcsstr strstr -#define _tcstok strtok -#define _tcsdup _strdup -#define _tcsicmp _stricmp -#define _tcsnicmp _strnicmp -#define _tcsnset _strnset -#define _tcsrev _strrev -#define _tcsset _strset -#define _tcslwr _strlwr -#define _tcsupr _strupr -#define _tcsxfrm strxfrm -#define _tcscoll strcoll -#define _tcsicoll _stricoll -#define _istalpha isalpha -#define _istupper isupper -#define _istlower islower -#define _istdigit isdigit -#define _istxdigit isxdigit -#define _istspace isspace -#define _istpunct ispunct -#define _istalnum isalnum -#define _istprint isprint -#define _istgraph isgraph -#define _istcntrl iscntrl -#define _istascii isascii -#define _totupper toupper -#define _totlower tolower -#define _tasctime asctime -#define _tctime ctime -#if __MSVCRT_VERSION__ >= 0x0800 -#define _tctime32 _ctime32 -#define _tctime64 _ctime64 -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ -#define _tstrdate _strdate -#define _tstrtime _strtime -#define _tutime _utime -#if __MSVCRT_VERSION__ >= 0x0800 -#define _tutime64 _utime64 -#define _tutime32 _utime32 -#endif /* __MSVCRT_VERSION__ > 0x0800 */ -#define _tcsftime strftime -/* Macro functions */ -#define _tcsdec _strdec -#define _tcsinc _strinc -#define _tcsnbcnt _strncnt -#define _tcsnccnt _strncnt -#define _tcsnextc _strnextc -#define _tcsninc _strninc -#define _tcsspnp _strspnp -#define _strdec(_str1, _str2) ((_str1)>=(_str2) ? NULL : (_str2)-1) -#define _strinc(_str) ((_str)+1) -#define _strnextc(_str) ((unsigned int) *(_str)) -#define _strninc(_str, _inc) (((_str)+(_inc))) -#define _strncnt(_str, _cnt) ((strlen(_str)>_cnt) ? _count : strlen(_str)) -#define _strspnp(_str1, _str2) ((*((_str1)+strspn(_str1,_str2))) ? ((_str1)+strspn(_str1,_str2)) : NULL) - -#define _tchmod _chmod -#define _tcreat _creat -#define _tfindfirst _findfirst -#define _tfindnext _findnext -#if __MSVCRT_VERSION__ >= 0x0800 -#define _tfindfirst64 _findfirst64 -#define _tfindfirst32 _findfirst32 -#define _tfindnext64 _findnext64 -#define _tfindnext32 _findnext32 -#endif /* __MSVCRT_VERSION__ > 0x0800 */ -#define _tmktemp _mktemp -#define _topen _open -#define _taccess _access -#define _tremove remove -#define _trename rename -#define _tsopen _sopen -#define _tsetlocale setlocale -#define _tunlink _unlink -#define _tfinddata_t _finddata_t -#define _tchdir _chdir -#define _tgetcwd _getcwd -#define _tgetdcwd _getdcwd -#define _tmkdir _mkdir -#define _trmdir _rmdir -#define _tstat _stat - -#if 1 /* defined __MSVCRT__ */ -/* Not in crtdll.dll. Define macros anyway? */ -#define _ttoi64 _atoi64 -#define _i64tot _i64toa -#define _ui64tot _ui64toa -#define _tcsnccoll _strncoll -#define _tcsncoll _strncoll -#define _tcsncicoll _strnicoll -#define _tcsnicoll _strnicoll -#define _tfindfirsti64 _findfirsti64 -#define _tfindnexti64 _findnexti64 -#define _tfinddatai64_t _finddatai64_t -#if __MSVCRT_VERSION__ >= 0x0601 -#define _tfinddata64_t _finddata64_t -#endif -#if __MSVCRT_VERSION__ >= 0x0800 -#define _tfinddata32_t _finddata32_t -#define _tfinddata32i64_t _finddata32i64_t -#define _tfinddata64i32_t _finddata64i32_t -#define _tfindfirst32i64 _findfirst32i64 -#define _tfindfirst64i32 _findfirst64i32 -#define _tfindnext32i64 _findnext32i64 -#define _tfindnext64i32 _findnext64i32 -#endif /* __MSVCRT_VERSION__ > 0x0800 */ -#define _tstati64 _stati64 -#define _tstat64 _stat64 -#if __MSVCRT_VERSION__ >= 0x0800 -#define _tstat32 _stat32 -#define _tstat32i64 _stat32i64 -#define _tstat64i32 _stat64i32 -#endif /* __MSVCRT_VERSION__ > 0x0800 */ -#endif /* __MSVCRT__ */ - -/* dirent structures and functions */ -#define _tdirent dirent -#define _TDIR DIR -#define _topendir opendir -#define _tclosedir closedir -#define _treaddir readdir -#define _trewinddir rewinddir -#define _ttelldir telldir -#define _tseekdir seekdir - -#endif /* Not _UNICODE */ - -/* - * UNICODE a constant string when _UNICODE is defined else returns the string - * unmodified. Also defined in w32api/winnt.h. - */ -#define _TEXT(x) __TEXT(x) -#define _T(x) __TEXT(x) - -#endif /* Not _TCHAR_H_ */ - diff --git a/winsup/mingw/include/time.h b/winsup/mingw/include/time.h deleted file mode 100644 index 232f25668..000000000 --- a/winsup/mingw/include/time.h +++ /dev/null @@ -1,280 +0,0 @@ -/* - * time.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Date and time functions and types. - * - */ - -#ifndef _TIME_H_ -#define _TIME_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#define __need_wchar_t -#define __need_size_t -#define __need_NULL -#ifndef RC_INVOKED -#include <stddef.h> -#endif /* Not RC_INVOKED */ - -/* - * Number of clock ticks per second. A clock tick is the unit by which - * processor time is measured and is returned by 'clock'. - */ -#define CLOCKS_PER_SEC ((clock_t)1000) -#define CLK_TCK CLOCKS_PER_SEC - - -#ifndef RC_INVOKED - -/* - * A type for storing the current time and date. This is the number of - * seconds since midnight Jan 1, 1970. - * NOTE: This is also defined in non-ISO sys/types.h. - */ -#ifndef _TIME32_T_DEFINED -typedef __int32 __time32_t; -#define _TIME32_T_DEFINED -#endif - -#ifndef __STRICT_ANSI__ -/* A 64-bit time_t to get to Y3K */ -#ifndef _TIME64_T_DEFINED -typedef __int64 __time64_t; -#define _TIME64_T_DEFINED -#endif -#endif - -#ifndef _TIME_T_DEFINED -/* FIXME __STRICT_ANSI__ ! */ -#if __MSVCRT_VERSION__ >= 0x0800 -#ifndef _USE_32BIT_TIME_T -typedef __time64_t time_t; -#else -typedef __time32_t time_t; -#endif /* !_USE_32BIT_TIME_T */ -#else -typedef __time32_t time_t; -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ -#define _TIME_T_DEFINED -#endif - - -/* - * A type for measuring processor time (in clock ticks). - */ -#ifndef _CLOCK_T_DEFINED -typedef long clock_t; -#define _CLOCK_T_DEFINED -#endif - -#ifndef _TM_DEFINED -/* - * A structure for storing all kinds of useful information about the - * current (or another) time. - */ -struct tm -{ - int tm_sec; /* Seconds: 0-59 (K&R says 0-61?) */ - int tm_min; /* Minutes: 0-59 */ - int tm_hour; /* Hours since midnight: 0-23 */ - int tm_mday; /* Day of the month: 1-31 */ - int tm_mon; /* Months *since* january: 0-11 */ - int tm_year; /* Years since 1900 */ - int tm_wday; /* Days since Sunday (0-6) */ - int tm_yday; /* Days since Jan. 1: 0-365 */ - int tm_isdst; /* +1 Daylight Savings Time, 0 No DST, - * -1 don't know */ -}; -#define _TM_DEFINED -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_CRTIMP clock_t __cdecl __MINGW_NOTHROW clock (void); -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP time_t __cdecl __MINGW_NOTHROW time (time_t*); -_CRTIMP double __cdecl __MINGW_NOTHROW difftime (time_t, time_t); -_CRTIMP time_t __cdecl __MINGW_NOTHROW mktime (struct tm*); -#endif - -/* - * These functions write to and return pointers to static buffers that may - * be overwritten by other function calls. Yikes! - * - * NOTE: localtime, and perhaps the others of the four functions grouped - * below may return NULL if their argument is not 'acceptable'. Also note - * that calling asctime with a NULL pointer will produce an Invalid Page - * Fault and crap out your program. Guess how I know. Hint: stat called on - * a directory gives 'invalid' times in st_atime etc... - */ -_CRTIMP char* __cdecl __MINGW_NOTHROW asctime (const struct tm*); -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP char* __cdecl __MINGW_NOTHROW ctime (const time_t*); -_CRTIMP struct tm* __cdecl __MINGW_NOTHROW gmtime (const time_t*); -_CRTIMP struct tm* __cdecl __MINGW_NOTHROW localtime (const time_t*); -#endif - -_CRTIMP size_t __cdecl __MINGW_NOTHROW strftime (char*, size_t, const char*, const struct tm*); - -#ifndef __STRICT_ANSI__ - -extern _CRTIMP void __cdecl __MINGW_NOTHROW _tzset (void); - -#ifndef _NO_OLDNAMES -extern _CRTIMP void __cdecl __MINGW_NOTHROW tzset (void); -#endif - -_CRTIMP char* __cdecl __MINGW_NOTHROW _strdate(char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _strtime(char*); - -/* These require newer versions of msvcrt.dll (6.10 or higher). */ -#if __MSVCRT_VERSION__ >= 0x0601 -_CRTIMP __time64_t __cdecl __MINGW_NOTHROW _time64( __time64_t*); -_CRTIMP __time64_t __cdecl __MINGW_NOTHROW _mktime64 (struct tm*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _ctime64 (const __time64_t*); -_CRTIMP struct tm* __cdecl __MINGW_NOTHROW _gmtime64 (const __time64_t*); -_CRTIMP struct tm* __cdecl __MINGW_NOTHROW _localtime64 (const __time64_t*); -#endif /* __MSVCRT_VERSION__ >= 0x0601 */ - -/* These require newer versions of msvcrt.dll (8.00 or higher). */ -#if __MSVCRT_VERSION__ >= 0x0800 -_CRTIMP __time32_t __cdecl __MINGW_NOTHROW _time32 (__time32_t*); -_CRTIMP double __cdecl __MINGW_NOTHROW _difftime32 (__time32_t, __time32_t); -_CRTIMP double __cdecl __MINGW_NOTHROW _difftime64 (__time64_t, __time64_t); -_CRTIMP __time32_t __cdecl __MINGW_NOTHROW _mktime32 (struct tm*); -_CRTIMP __time32_t __cdecl __MINGW_NOTHROW _mkgmtime32 (struct tm*); -_CRTIMP __time64_t __cdecl __MINGW_NOTHROW _mkgmtime64 (struct tm*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _ctime32 (const __time32_t*); -_CRTIMP struct tm* __cdecl __MINGW_NOTHROW _gmtime32 (const __time32_t*); -_CRTIMP struct tm* __cdecl __MINGW_NOTHROW _localtime32 (const __time32_t*); -#ifndef _USE_32BIT_TIME_T -_CRTALIAS time_t __cdecl __MINGW_NOTHROW time (time_t* _v) { return(_time64 (_v)); } -_CRTALIAS double __cdecl __MINGW_NOTHROW difftime (time_t _v1, time_t _v2) { return(_difftime64 (_v1,_v2)); } -_CRTALIAS time_t __cdecl __MINGW_NOTHROW mktime (struct tm* _v) { return(_mktime64 (_v)); } -_CRTALIAS time_t __cdecl __MINGW_NOTHROW _mkgmtime (struct tm* _v) { return(_mkgmtime64 (_v)); } -_CRTALIAS char* __cdecl __MINGW_NOTHROW ctime (const time_t* _v) { return(_ctime64 (_v)); } -_CRTALIAS struct tm* __cdecl __MINGW_NOTHROW gmtime (const time_t* _v) { return(_gmtime64 (_v)); } -_CRTALIAS struct tm* __cdecl __MINGW_NOTHROW localtime (const time_t* _v) { return(_localtime64 (_v)); } -#else -_CRTALIAS time_t __cdecl __MINGW_NOTHROW time (time_t* _v) { return(_time32 (_v)); } -_CRTALIAS double __cdecl __MINGW_NOTHROW difftime (time_t _v1, time_t _v2) { return(_difftime32 (_v1,_v2)); } -_CRTALIAS time_t __cdecl __MINGW_NOTHROW mktime (struct tm* _v) { return(_mktime32 (_v)); } -_CRTALIAS time_t __cdecl __MINGW_NOTHROW _mkgmtime (struct tm* _v) { return(_mkgmtime32 (_v)); } -_CRTALIAS char* __cdecl __MINGW_NOTHROW ctime (const time_t* _v) { return(_ctime32 (_v)); } -_CRTALIAS struct tm* __cdecl __MINGW_NOTHROW gmtime (const time_t* _v) { return(_gmtime32 (_v)); } -_CRTALIAS struct tm* __cdecl __MINGW_NOTHROW localtime (const time_t* _v) { return(_localtime32 (_v)); } -#endif /* !_USE_32BIT_TIME_T */ -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ - - -/* - * _daylight: non zero if daylight savings time is used. - * _timezone: difference in seconds between GMT and local time. - * _tzname: standard/daylight savings time zone names (an array with two - * elements). - */ -#ifdef __MSVCRT__ - -/* These are for compatibility with pre-VC 5.0 suppied MSVCRT. */ -extern _CRTIMP int* __cdecl __MINGW_NOTHROW __p__daylight (void); -extern _CRTIMP long* __cdecl __MINGW_NOTHROW __p__timezone (void); -extern _CRTIMP char** __cdecl __MINGW_NOTHROW __p__tzname (void); - -__MINGW_IMPORT int _daylight; -__MINGW_IMPORT long _timezone; -__MINGW_IMPORT char *_tzname[2]; - -#else /* not __MSVCRT (ie. crtdll) */ - -#ifndef __DECLSPEC_SUPPORTED - -extern int* _imp___daylight_dll; -extern long* _imp___timezone_dll; -extern char** _imp___tzname; - -#define _daylight (*_imp___daylight_dll) -#define _timezone (*_imp___timezone_dll) -#define _tzname (*_imp___tzname) - -#else /* __DECLSPEC_SUPPORTED */ - -__MINGW_IMPORT int _daylight_dll; -__MINGW_IMPORT long _timezone_dll; -__MINGW_IMPORT char* _tzname[2]; - -#define _daylight _daylight_dll -#define _timezone _timezone_dll - -#endif /* __DECLSPEC_SUPPORTED */ - -#endif /* not __MSVCRT__ */ - -#endif /* Not __STRICT_ANSI__ */ - -#ifndef _NO_OLDNAMES - -#ifdef __MSVCRT__ - -/* These go in the oldnames import library for MSVCRT. */ -__MINGW_IMPORT int daylight; -__MINGW_IMPORT long timezone; -__MINGW_IMPORT char *tzname[2]; - -#else /* not __MSVCRT__ */ - -/* CRTDLL is royally messed up when it comes to these macros. - TODO: import and alias these via oldnames import library instead - of macros. */ - -#define daylight _daylight -/* NOTE: timezone not defined as macro because it would conflict with - struct timezone in sys/time.h. - Also, tzname used to a be macro, but now it's in moldname. */ -__MINGW_IMPORT char *tzname[2]; - -#endif /* not __MSVCRT__ */ - -#endif /* Not _NO_OLDNAMES */ - -#ifndef _WTIME_DEFINED -/* wide function prototypes, also declared in wchar.h */ -#ifndef __STRICT_ANSI__ -#ifdef __MSVCRT__ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wasctime(const struct tm*); -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wctime(const time_t*); -#endif -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wstrdate(wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wstrtime(wchar_t*); -#if __MSVCRT_VERSION__ >= 0x0601 -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wctime64 (const __time64_t*); -#endif -#if __MSVCRT_VERSION__ >= 0x0800 -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wctime32 (const __time32_t*); -#ifndef _USE_32BIT_TIME_T -_CRTALIAS wchar_t* __cdecl __MINGW_NOTHROW _wctime (const time_t* _v) { return(_wctime64 (_v)); } -#else -_CRTALIAS wchar_t* __cdecl __MINGW_NOTHROW _wctime (const time_t* _v) { return(_wctime32 (_v)); } -#endif -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ -#endif /* __MSVCRT__ */ -#endif /* __STRICT_ANSI__ */ -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*); -#define _WTIME_DEFINED -#endif /* _WTIME_DEFINED */ - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _TIME_H_ */ - diff --git a/winsup/mingw/include/unistd.h b/winsup/mingw/include/unistd.h deleted file mode 100644 index 5b828ebb0..000000000 --- a/winsup/mingw/include/unistd.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef _UNISTD_H -/* - * This file is part of the Mingw32 package. - * - * unistd.h maps (roughly) to io.h - * Other headers included by unistd.h may be selectively processed; - * __UNISTD_H_SOURCED__ enables such selective processing. - */ -#define _UNISTD_H -#define __UNISTD_H_SOURCED__ 1 - -#include <io.h> -#include <process.h> -#include <getopt.h> - -/* These are also defined in stdio.h. */ -#ifndef SEEK_SET -#define SEEK_SET 0 -#endif - -#ifndef SEEK_CUR -#define SEEK_CUR 1 -#endif - -#ifndef SEEK_END -#define SEEK_END 2 -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#if !defined __NO_ISOCEXT -#include <sys/types.h> /* For useconds_t. */ - -int __cdecl __MINGW_NOTHROW usleep(useconds_t useconds); -#endif /* Not __NO_ISOCEXT */ - -/* This is defined as a real library function to allow autoconf - to verify its existence. */ -int ftruncate(int, off_t); -#ifndef __NO_INLINE__ -__CRT_INLINE int ftruncate(int __fd, off_t __length) -{ - return _chsize (__fd, __length); -} -#endif - -#ifdef __cplusplus -} -#endif - -#undef __UNISTD_H_SOURCED__ -#endif /* _UNISTD_H */ diff --git a/winsup/mingw/include/utime.h b/winsup/mingw/include/utime.h deleted file mode 100644 index 8285f38fd..000000000 --- a/winsup/mingw/include/utime.h +++ /dev/null @@ -1 +0,0 @@ -#include <sys/utime.h> diff --git a/winsup/mingw/include/values.h b/winsup/mingw/include/values.h deleted file mode 100644 index 10e16a281..000000000 --- a/winsup/mingw/include/values.h +++ /dev/null @@ -1,4 +0,0 @@ -/* - * TODO: Nothing here yet. Should provide UNIX compatibility constants - * comparible to those in limits.h and float.h. - */ diff --git a/winsup/mingw/include/varargs.h b/winsup/mingw/include/varargs.h deleted file mode 100644 index c1197e97e..000000000 --- a/winsup/mingw/include/varargs.h +++ /dev/null @@ -1,7 +0,0 @@ -/* - * This is just an RC_INVOKED guard for the real varargs.h - * fixincluded in gcc system dir. One day we will delete this file. - */ -#ifndef RC_INVOKED -#include_next<varargs.h> -#endif diff --git a/winsup/mingw/include/wchar.h b/winsup/mingw/include/wchar.h deleted file mode 100644 index dadeda6d3..000000000 --- a/winsup/mingw/include/wchar.h +++ /dev/null @@ -1,651 +0,0 @@ -/* - * wchar.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. - * - * Defines of all functions for supporting wide characters. Actually it - * just includes all those headers, which is not a good thing to do from a - * processing time point of view, but it does mean that everything will be - * in sync. - * - */ - -#ifndef _WCHAR_H_ -#define _WCHAR_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#ifndef RC_INVOKED - -#define __need_size_t -#define __need_wint_t -#define __need_wchar_t -#define __need_NULL -#include <stddef.h> - -#ifndef __VALIST -#if defined __GNUC__ && __GNUC__ >= 3 -#define __need___va_list -#include <stdarg.h> -#define __VALIST __builtin_va_list -#else -#define __VALIST char* -#endif -#endif - -#endif /* Not RC_INVOKED */ - -/* - * MSDN says that isw* char classifications are in wchar.h and wctype.h. - * Although the wctype names are ANSI, their exposure in this header is - * not. - */ -#include <wctype.h> - -#ifndef __STRICT_ANSI__ -/* This is necessary to support the the non-ANSI wchar declarations - here. */ -#include <sys/types.h> -#endif /* __STRICT_ANSI__ */ - -#define WCHAR_MIN 0 -#define WCHAR_MAX 0xffff - -#ifndef WEOF -#define WEOF (wchar_t)(0xFFFF) -#endif - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _FILE_DEFINED /* Also in stdio.h */ -#define _FILE_DEFINED -typedef struct _iobuf -{ - char* _ptr; - int _cnt; - char* _base; - int _flag; - int _file; - int _charbuf; - int _bufsiz; - char* _tmpfname; -} FILE; -#endif /* Not _FILE_DEFINED */ - -#ifndef _TIME_T_DEFINED /* Also in time.h */ -typedef long time_t; -#define _TIME_T_DEFINED -#endif - -#ifndef _TM_DEFINED /* Also in time.h */ -struct tm { - int tm_sec; /* seconds after the minute - [0,59] */ - int tm_min; /* minutes after the hour - [0,59] */ - int tm_hour; /* hours since midnight - [0,23] */ - int tm_mday; /* day of the month - [1,31] */ - int tm_mon; /* months since January - [0,11] */ - int tm_year; /* years since 1900 */ - int tm_wday; /* days since Sunday - [0,6] */ - int tm_yday; /* days since January 1 - [0,365] */ - int tm_isdst; /* daylight savings time flag */ - }; -#define _TM_DEFINED -#endif - -#ifndef _WSTDIO_DEFINED -/* Also in stdio.h - keep in sync */ -_CRTIMP int __cdecl __MINGW_NOTHROW fwprintf (FILE*, const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW wprintf (const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW _snwprintf (wchar_t*, size_t, const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW vfwprintf (FILE*, const wchar_t*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW vwprintf (const wchar_t*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW _vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST); -_CRTIMP int __cdecl __MINGW_NOTHROW fwscanf (FILE*, const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW wscanf (const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW swscanf (const wchar_t*, const wchar_t*, ...); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW fgetwc (FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW fputwc (wchar_t, FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW ungetwc (wchar_t, FILE*); - -/* These differ from the ISO C prototypes, which have a maxlen parameter like snprintf. */ -#ifndef __STRICT_ANSI__ -_CRTIMP int __cdecl __MINGW_NOTHROW swprintf (wchar_t*, const wchar_t*, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW vswprintf (wchar_t*, const wchar_t*, __VALIST); -#endif - -#ifdef __MSVCRT__ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW fgetws (wchar_t*, int, FILE*); -_CRTIMP int __cdecl __MINGW_NOTHROW fputws (const wchar_t*, FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW getwc (FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW getwchar (void); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW putwc (wint_t, FILE*); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW putwchar (wint_t); -#ifndef __STRICT_ANSI__ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _getws (wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _putws (const wchar_t*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfdopen(int, const wchar_t *); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfopen (const wchar_t*, const wchar_t*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfreopen (const wchar_t*, const wchar_t*, FILE*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wfsopen (const wchar_t*, const wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wtmpnam (wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wtempnam (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wrename (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wremove (const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wperror (const wchar_t*); -_CRTIMP FILE* __cdecl __MINGW_NOTHROW _wpopen (const wchar_t*, const wchar_t*); -#endif /* __STRICT_ANSI__ */ -#endif /* __MSVCRT__ */ - -#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ -int __cdecl __MINGW_NOTHROW snwprintf (wchar_t*, size_t, const wchar_t*, ...); -int __cdecl __MINGW_NOTHROW vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST); -#ifndef __NO_INLINE__ -__CRT_INLINE int __cdecl __MINGW_NOTHROW -vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg) - { return _vsnwprintf ( s, n, format, arg);} -#endif -int __cdecl __MINGW_NOTHROW vwscanf (const wchar_t * __restrict__, __VALIST); -int __cdecl __MINGW_NOTHROW vfwscanf (FILE * __restrict__, - const wchar_t * __restrict__, __VALIST); -int __cdecl __MINGW_NOTHROW vswscanf (const wchar_t * __restrict__, - const wchar_t * __restrict__, __VALIST); -#endif - -#define _WSTDIO_DEFINED -#endif /* _WSTDIO_DEFINED */ - -#ifndef _WSTDLIB_DEFINED /* also declared in stdlib.h */ -_CRTIMP long __cdecl __MINGW_NOTHROW wcstol (const wchar_t*, wchar_t**, int); -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW wcstoul (const wchar_t*, wchar_t**, int); -_CRTIMP double __cdecl __MINGW_NOTHROW wcstod (const wchar_t*, wchar_t**); -#if !defined __NO_ISOCEXT /* in libmingwex.a */ -float __cdecl __MINGW_NOTHROW wcstof (const wchar_t * __restrict__, wchar_t ** __restrict__); -long double __cdecl __MINGW_NOTHROW wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__); -#endif /* __NO_ISOCEXT */ -#ifdef __MSVCRT__ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetenv(const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wputenv(const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wsystem(const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wfullpath (wchar_t*, const wchar_t*, size_t); -#endif -_CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *, wchar_t **, int); -_CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *, wchar_t **, int, _locale_t); -_CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *, wchar_t **, int); -_CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *, wchar_t **, int, _locale_t); -#define _WSTDLIB_DEFINED -#endif /* _WSTDLIB_DEFINED */ - -#ifndef _WTIME_DEFINED -#ifndef __STRICT_ANSI__ -#ifdef __MSVCRT__ -/* wide function prototypes, also declared in time.h */ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wasctime (const struct tm*); -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wctime (const time_t*); -#endif -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wstrdate (wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wstrtime (wchar_t*); -#if __MSVCRT_VERSION__ >= 0x601 -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wctime64 (const __time64_t*); -#endif -#if __MSVCRT_VERSION__ >= 0x0800 -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wctime32 (const __time32_t*); -#ifndef _USE_32BIT_TIME_T -_CRTALIAS wchar_t* __cdecl __MINGW_NOTHROW _wctime (const time_t* _v) { return(_wctime64 (_v)); } -#else -_CRTALIAS wchar_t* __cdecl __MINGW_NOTHROW _wctime (const time_t* _v) { return(_wctime32 (_v)); } -#endif -#endif - -#endif /* __MSVCRT__ */ -#endif /* __STRICT_ANSI__ */ -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*); -#define _WTIME_DEFINED -#endif /* _WTIME_DEFINED */ - - -#ifndef _WSTRING_DEFINED -/* - * Unicode versions of the standard string calls. - * Also in string.h. - */ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcscat (wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcschr (const wchar_t*, wchar_t); -_CRTIMP int __cdecl __MINGW_NOTHROW wcscmp (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW wcscoll (const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcscpy (wchar_t*, const wchar_t*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcscspn (const wchar_t*, const wchar_t*); -/* Note: _wcserror requires __MSVCRT_VERSION__ >= 0x0700. */ -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcslen (const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsncat (wchar_t*, const wchar_t*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW wcsncmp(const wchar_t*, const wchar_t*, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsncpy(wchar_t*, const wchar_t*, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcspbrk(const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsrchr(const wchar_t*, wchar_t); -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcsspn(const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsstr(const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcstok(wchar_t*, const wchar_t*); -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcsxfrm(wchar_t*, const wchar_t*, size_t); - -#ifndef __STRICT_ANSI__ -/* - * Unicode versions of non-ANSI functions provided by CRTDLL. - */ - -/* NOTE: _wcscmpi not provided by CRTDLL, this define is for portability */ -#define _wcscmpi _wcsicmp - -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsdup (const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsicmp (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsicoll (const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcslwr (wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsnicmp (const wchar_t*, const wchar_t*, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsnset (wchar_t*, wchar_t, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsrev (wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsset (wchar_t*, wchar_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcsupr (wchar_t*); - -#ifdef __MSVCRT__ -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsncoll(const wchar_t*, const wchar_t*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcsnicoll(const wchar_t*, const wchar_t*, size_t); -#if __MSVCRT_VERSION__ >= 0x0700 -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wcserror(int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW __wcserror(const wchar_t*); -#endif -#endif - -#ifndef _NO_OLDNAMES -/* NOTE: There is no _wcscmpi, but this is for compatibility. */ -int __cdecl __MINGW_NOTHROW wcscmpi (const wchar_t *, const wchar_t *); -#ifndef __NO_INLINE__ -__CRT_INLINE int __cdecl __MINGW_NOTHROW -wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2) - {return _wcsicmp (__ws1, __ws2);} -#endif -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsdup (const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW wcsicmp (const wchar_t*, const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW wcsicoll (const wchar_t*, const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcslwr (wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW wcsnicmp (const wchar_t*, const wchar_t*, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsnset (wchar_t*, wchar_t, size_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsrev (wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsset (wchar_t*, wchar_t); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW wcsupr (wchar_t*); -#endif /* Not _NO_OLDNAMES */ - -#endif /* Not strict ANSI */ - -#define _WSTRING_DEFINED -#endif /* _WSTRING_DEFINED */ - -/* These are resolved by -lmingwex. Alternatively, they can be resolved by - adding -lmsvcp60 to your command line, which will give you the VC++ - versions of these functions. If you want the latter and don't have - msvcp60.dll in your windows system directory, you can easily obtain - it with a search from your favorite search engine. */ -#ifndef __STRICT_ANSI__ -typedef wchar_t _Wint_t; -#endif - -typedef int mbstate_t; - -wint_t __cdecl __MINGW_NOTHROW btowc(int); -size_t __cdecl __MINGW_NOTHROW mbrlen(const char * __restrict__, size_t, - mbstate_t * __restrict__); -size_t __cdecl __MINGW_NOTHROW mbrtowc(wchar_t * __restrict__, const char * __restrict__, - size_t, mbstate_t * __restrict__); -size_t __cdecl __MINGW_NOTHROW mbsrtowcs(wchar_t * __restrict__, const char ** __restrict__, - size_t, mbstate_t * __restrict__); -size_t __cdecl __MINGW_NOTHROW wcrtomb(char * __restrict__, wchar_t, - mbstate_t * __restrict__); -size_t __cdecl __MINGW_NOTHROW wcsrtombs(char * __restrict__, const wchar_t ** __restrict__, - size_t, mbstate_t * __restrict__); -int __cdecl __MINGW_NOTHROW wctob(wint_t); - -#ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */ -int __cdecl __MINGW_NOTHROW fwide(FILE*, int); -int __cdecl __MINGW_NOTHROW mbsinit(const mbstate_t*); -#ifndef __NO_INLINE__ -__CRT_INLINE int __cdecl __MINGW_NOTHROW fwide(FILE* __UNUSED_PARAM(stream), - int mode) - {return mode;} /* Nothing to do */ -__CRT_INLINE int __cdecl __MINGW_NOTHROW mbsinit(const mbstate_t* __UNUSED_PARAM(ps)) - {return 1;} -#endif -wchar_t* __cdecl __MINGW_NOTHROW wmemset(wchar_t *, wchar_t, size_t); -wchar_t* __cdecl __MINGW_NOTHROW wmemchr(const wchar_t*, wchar_t, size_t); -int wmemcmp(const wchar_t*, const wchar_t *, size_t); -wchar_t* __cdecl __MINGW_NOTHROW wmemcpy(wchar_t* __restrict__, - const wchar_t* __restrict__, - size_t); -wchar_t* __cdecl __MINGW_NOTHROW wmemmove(wchar_t* s1, const wchar_t *, size_t); -long long __cdecl __MINGW_NOTHROW wcstoll(const wchar_t * __restrict__, - wchar_t** __restrict__, int); -unsigned long long __cdecl __MINGW_NOTHROW wcstoull(const wchar_t * __restrict__, - wchar_t ** __restrict__, int); -#endif /* __NO_ISOCEXT */ - -#ifndef __STRICT_ANSI__ -/* non-ANSI wide char functions from io.h, direct.h, sys/stat.h and locale.h. */ - -#ifndef _FSIZE_T_DEFINED -typedef unsigned long _fsize_t; -#define _FSIZE_T_DEFINED -#endif - -#ifndef _WFINDDATA_T_DEFINED -struct _wfinddata_t { - unsigned attrib; - time_t time_create; /* -1 for FAT file systems */ - time_t time_access; /* -1 for FAT file systems */ - time_t time_write; - _fsize_t size; - wchar_t name[260]; /* may include spaces. */ -}; -struct _wfinddatai64_t { - unsigned attrib; - time_t time_create; - time_t time_access; - time_t time_write; - __int64 size; - wchar_t name[260]; -}; -#if __MSVCRT_VERSION__ >= 0x0601 -struct __wfinddata64_t { - unsigned attrib; - __time64_t time_create; - __time64_t time_access; - __time64_t time_write; -/* 8 bytes are returned so it can't be _fsize_t */ - __int64 size; - wchar_t name[260]; -}; -#endif -#if __MSVCRT_VERSION__ >= 0x0800 -#include <stdio.h> -struct __wfinddata32_t { - unsigned attrib; - __time32_t time_create; - __time32_t time_access; - __time32_t time_write; - __int32 size; - wchar_t name[FILENAME_MAX]; -}; - -struct _wfinddata32i64_t { - unsigned attrib; - __time32_t time_create; - __time32_t time_access; - __time32_t time_write; - __int64 size; - wchar_t name[FILENAME_MAX]; -}; - -struct _wfinddata64i32_t { - unsigned attrib; - __time64_t time_create; - __time64_t time_access; - __time64_t time_write; - __int32 size; - wchar_t name[FILENAME_MAX]; -}; -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ -#define _WFINDDATA_T_DEFINED -#endif - -/* Wide character versions. Also defined in io.h. */ -/* CHECK: I believe these only exist in MSVCRT, and not in CRTDLL. Also - applies to other wide character versions? */ -#if !defined (_WIO_DEFINED) -#if defined (__MSVCRT__) -#include <stdint.h> /* For intptr_t. */ -_CRTIMP int __cdecl __MINGW_NOTHROW _waccess (const wchar_t*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _wchmod (const wchar_t*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _wcreat (const wchar_t*, int); -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP long __cdecl __MINGW_NOTHROW _wfindfirst (const wchar_t*, struct _wfinddata_t *); -_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext (long, struct _wfinddata_t *); -#endif -_CRTIMP int __cdecl __MINGW_NOTHROW _wunlink (const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wopen (const wchar_t*, int, ...); -_CRTIMP int __cdecl __MINGW_NOTHROW _wsopen (const wchar_t*, int, int, ...); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wmktemp (wchar_t*); -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP long __cdecl __MINGW_NOTHROW _wfindfirsti64 (const wchar_t*, struct _wfinddatai64_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnexti64 (long, struct _wfinddatai64_t*); -#else -_CRTIMP long __cdecl __MINGW_NOTHROW _wfindfirst32i64 (const wchar_t*, struct _wfinddata32i64_t*); -_CRTIMP long __cdecl __MINGW_NOTHROW _wfindfirst64i32 (const wchar_t*, struct _wfinddata64i32_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext32i64 (long, struct _wfinddata32i64_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext64i32 (long, struct _wfinddata64i32_t*); -#endif /* __MSVCRT_VERSION__ < 0x0800 */ -#if __MSVCRT_VERSION__ >= 0x0601 -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirst64(const wchar_t*, struct __wfinddata64_t*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindnext64(intptr_t, struct __wfinddata64_t*); -#endif /* __MSVCRT_VERSION__ >= 0x0601 */ -#if __MSVCRT_VERSION__ >= 0x0800 -_CRTIMP long __cdecl __MINGW_NOTHROW _wfindfirst32 (const wchar_t*, struct __wfinddata32_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext32 (long, struct __wfinddata32_t*); -#ifndef _USE_32BIT_TIME_T -_CRTALIAS long __cdecl __MINGW_NOTHROW _wfindfirst (const wchar_t* _v1, struct _wfinddata_t* _v2) { return(_wfindfirst64i32 (_v1,(struct _wfinddata64i32_t*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnext (long _v1, struct _wfinddata_t* _v2) { return(_wfindnext64i32 (_v1,(struct _wfinddata64i32_t*)_v2)); } -_CRTALIAS long __cdecl __MINGW_NOTHROW _wfindfirsti64 (const wchar_t* _v1, struct _wfinddatai64_t* _v2) { return(_wfindfirst64 (_v1,(struct __wfinddata64_t*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnexti64 (long _v1, struct _wfinddatai64_t* _v2) { return(_wfindnext64 (_v1,(struct __wfinddata64_t*)_v2)); } -#else -_CRTALIAS long __cdecl __MINGW_NOTHROW _wfindfirst (const wchar_t* _v1, struct _wfinddata_t* _v2) { return(_wfindfirst32 (_v1,(struct __wfinddata32_t*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnext (long _v1, struct _wfinddata_t* _v2) { return(_wfindnext32 (_v1,(struct __wfinddata32_t*)_v2)); } -_CRTALIAS long __cdecl __MINGW_NOTHROW _wfindfirsti64 (const wchar_t* _v1, struct _wfinddatai64_t* _v2) { return(_wfindfirst32i64 (_v1,(struct _wfinddata32i64_t*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnexti64 (long _v1, struct _wfinddatai64_t* _v2) { return(_wfindnext32i64 (_v1,(struct _wfinddata32i64_t*)_v2)); } -#endif /* !_USE_32BIT_TIME_T*/ -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ - -#endif /* defined (__MSVCRT__) */ -#define _WIO_DEFINED -#endif /* _WIO_DEFINED */ - -#ifndef _WDIRECT_DEFINED -/* Also in direct.h */ -#ifdef __MSVCRT__ -_CRTIMP int __cdecl __MINGW_NOTHROW _wchdir (const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetcwd (wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetdcwd (int, wchar_t*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _wmkdir (const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wrmdir (const wchar_t*); -#endif /* __MSVCRT__ */ -#define _WDIRECT_DEFINED -#endif /* _WDIRECT_DEFINED */ - -#ifndef _STAT_DEFINED -/* - * The structure manipulated and returned by stat and fstat. - * - * NOTE: If called on a directory the values in the time fields are not only - * invalid, they will cause localtime et. al. to return NULL. And calling - * asctime with a NULL pointer causes an Invalid Page Fault. So watch it! - */ -struct _stat -{ - _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */ - _ino_t st_ino; /* Always zero ? */ - _mode_t st_mode; /* See above constants */ - short st_nlink; /* Number of links. */ - short st_uid; /* User: Maybe significant on NT ? */ - short st_gid; /* Group: Ditto */ - _dev_t st_rdev; /* Seems useless (not even filled in) */ - _off_t st_size; /* File size in bytes */ - time_t st_atime; /* Accessed date (always 00:00 hrs local - * on FAT) */ - time_t st_mtime; /* Modified time */ - time_t st_ctime; /* Creation time */ -}; - -#ifndef _NO_OLDNAMES -/* NOTE: Must be the same as _stat above. */ -struct stat -{ - dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */ - ino_t st_ino; /* Always zero ? */ - mode_t st_mode; /* See above constants */ - short st_nlink; /* Number of links. */ - short st_uid; /* User: Maybe significant on NT ? */ - short st_gid; /* Group: Ditto */ - dev_t st_rdev; /* Seems useless (not even filled in) */ - off_t st_size; /* File size in bytes */ - time_t st_atime; /* Accessed date (always 00:00 hrs local - * on FAT) */ - time_t st_mtime; /* Modified time */ - time_t st_ctime; /* Creation time */ -}; -#endif /* _NO_OLDNAMES */ - -#if defined (__MSVCRT__) -struct _stati64 { - _dev_t st_dev; - _ino_t st_ino; - unsigned short st_mode; - short st_nlink; - short st_uid; - short st_gid; - _dev_t st_rdev; - __int64 st_size; - time_t st_atime; - time_t st_mtime; - time_t st_ctime; -}; - -#if __MSVCRT_VERSION__ >= 0x0601 -struct __stat64 -{ - _dev_t st_dev; - _ino_t st_ino; - _mode_t st_mode; - short st_nlink; - short st_uid; - short st_gid; - _dev_t st_rdev; - __int64 st_size; - __time64_t st_atime; - __time64_t st_mtime; - __time64_t st_ctime; -}; -#endif /* __MSVCRT_VERSION__ >= 0x0601*/ - -#if __MSVCRT_VERSION__ >= 0x0800 -struct __stat32 -{ - _dev_t st_dev; - _ino_t st_ino; - _mode_t st_mode; - short st_nlink; - short st_uid; - short st_gid; - _dev_t st_rdev; - __int32 st_size; - __time32_t st_atime; - __time32_t st_mtime; - __time32_t st_ctime; -}; -struct _stat32i64 { - _dev_t st_dev; - _ino_t st_ino; - _mode_t st_mode; - short st_nlink; - short st_uid; - short st_gid; - _dev_t st_rdev; - __int64 st_size; - __time32_t st_atime; - __time32_t st_mtime; - __time32_t st_ctime; -}; -struct _stat64i32 { - _dev_t st_dev; - _ino_t st_ino; - _mode_t st_mode; - short st_nlink; - short st_uid; - short st_gid; - _dev_t st_rdev; - __int32 st_size; - __time64_t st_atime; - __time64_t st_mtime; - __time64_t st_ctime; -}; -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ - -#endif /* __MSVCRT__ */ -#define _STAT_DEFINED -#endif /* _STAT_DEFINED */ - -#if !defined ( _WSTAT_DEFINED) -/* also declared in sys/stat.h */ -#if defined __MSVCRT__ -#if __MSVCRT_VERSION__ < 0x0800 -_CRTIMP int __cdecl __MINGW_NOTHROW _wstat (const wchar_t*, struct _stat*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wstati64 (const wchar_t*, struct _stati64*); -#endif /* __MSVCRT_VERSION__ < 0x0800 */ -#if __MSVCRT_VERSION__ >= 0x0601 -_CRTIMP int __cdecl __MINGW_NOTHROW _wstat64 (const wchar_t*, struct __stat64*); -#endif /* __MSVCRT_VERSION__ >= 0x0601 */ -#if __MSVCRT_VERSION__ >= 0x0800 -_CRTIMP int __cdecl __MINGW_NOTHROW _wstat32 (const wchar_t*, struct __stat32*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wstat32i64 (const wchar_t*, struct _stat32i64*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wstat64i32 (const wchar_t*, struct _stat64i32*); -#ifndef _USE_32BIT_TIME_T -_CRTALIAS int __cdecl __MINGW_NOTHROW _wstat (const wchar_t* _v1, struct _stat* _v2) { return(_wstat64i32 (_v1,(struct _stat64i32*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wstati64 (const wchar_t* _v1, struct _stati64* _v2) { return(_wstat64 (_v1,(struct __stat64*)_v2)); } -#else -_CRTALIAS int __cdecl __MINGW_NOTHROW _wstat (const wchar_t* _v1, struct _stat* _v2) { return(_wstat32 (_v1,(struct __stat32*)_v2)); } -_CRTALIAS int __cdecl __MINGW_NOTHROW _wstati64 (const wchar_t* _v1, struct _stati64* _v2) { return(_wstat32i64 (_v1,(struct _stat32i64*)_v2)); } -#endif /* !_USE_32BIT_TIME_T */ -#endif /* __MSVCRT_VERSION__ >= 0x0800 */ -#endif /* __MSVCRT__ */ -#define _WSTAT_DEFINED -#endif /* ! _WSTAT_DEFIND */ - -#ifndef _WLOCALE_DEFINED /* also declared in locale.h */ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wsetlocale (int, const wchar_t*); -#define _WLOCALE_DEFINED -#endif - -#ifndef _WPROCESS_DEFINED /* also declared in process.h */ -#include <stdint.h> /* For intptr_t. */ -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecl (const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecle (const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexeclp (const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexeclpe (const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecv (const wchar_t*, const wchar_t* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecve (const wchar_t*, const wchar_t* const*, const wchar_t* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecvp (const wchar_t*, const wchar_t* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wexecvpe (const wchar_t*, const wchar_t* const*, const wchar_t* const*); - -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnl (int, const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnle (int, const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnlp (int, const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnlpe (int, const wchar_t*, const wchar_t*, ...); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnv (int, const wchar_t*, const wchar_t* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnve (int, const wchar_t*, const wchar_t* const*, const wchar_t* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnvp (int, const wchar_t*, const wchar_t* const*); -_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wspawnvpe (int, const wchar_t*, const wchar_t* const*, const wchar_t* const*); - -#define _WPROCESS_DEFINED -#endif -#endif /* not __STRICT_ANSI__ */ - -#ifdef __cplusplus -} /* end of extern "C" */ -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* not _WCHAR_H_ */ - diff --git a/winsup/mingw/include/wctype.h b/winsup/mingw/include/wctype.h deleted file mode 100644 index 126603454..000000000 --- a/winsup/mingw/include/wctype.h +++ /dev/null @@ -1,168 +0,0 @@ -/* - * wctype.h - * - * Functions for testing wide character types and converting characters. - * - * This file is part of the Mingw32 package. - * - * Contributors: - * Created by Mumit Khan <khan@xraylith.wisc.edu> - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAIMED. This includes but is not limited to warranties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - */ - -#ifndef _WCTYPE_H_ -#define _WCTYPE_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#define __need_wchar_t -#define __need_wint_t -#ifndef RC_INVOKED -#include <stddef.h> -#endif /* Not RC_INVOKED */ - -/* - * The following flags are used to tell iswctype and _isctype what character - * types you are looking for. - */ -#define _UPPER 0x0001 -#define _LOWER 0x0002 -#define _DIGIT 0x0004 -#define _SPACE 0x0008 -#define _PUNCT 0x0010 -#define _CONTROL 0x0020 -#define _BLANK 0x0040 -#define _HEX 0x0080 -#define _LEADBYTE 0x8000 - -#define _ALPHA 0x0103 - -#ifndef RC_INVOKED - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef WEOF -#define WEOF (wchar_t)(0xFFFF) -#endif - -#ifndef _WCTYPE_T_DEFINED -typedef wchar_t wctype_t; -#define _WCTYPE_T_DEFINED -#endif - -/* Wide character equivalents - also in ctype.h */ -_CRTIMP int __cdecl __MINGW_NOTHROW iswalnum(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswalpha(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswascii(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswcntrl(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswctype(wint_t, wctype_t); -_CRTIMP int __cdecl __MINGW_NOTHROW is_wctype(wint_t, wctype_t); /* Obsolete! */ -_CRTIMP int __cdecl __MINGW_NOTHROW iswdigit(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswgraph(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswlower(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswprint(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswpunct(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswspace(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswupper(wint_t); -_CRTIMP int __cdecl __MINGW_NOTHROW iswxdigit(wint_t); - -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \ - || !defined __STRICT_ANSI__ || defined __cplusplus -int __cdecl __MINGW_NOTHROW iswblank (wint_t); -#endif - -/* Older MS docs uses wchar_t for arg and return type, while newer - online MS docs say arg is wint_t and return is int. - ISO C uses wint_t for both. */ -_CRTIMP wint_t __cdecl __MINGW_NOTHROW towlower (wint_t); -_CRTIMP wint_t __cdecl __MINGW_NOTHROW towupper (wint_t); - -_CRTIMP int __cdecl __MINGW_NOTHROW isleadbyte (int); - -/* Also in ctype.h */ - -#ifdef __DECLSPEC_SUPPORTED -# if __MSVCRT_VERSION__ <= 0x0700 - __MINGW_IMPORT unsigned short _ctype[]; -# endif -# ifdef __MSVCRT__ - __MINGW_IMPORT unsigned short* _pctype; -# else /* CRTDLL */ - __MINGW_IMPORT unsigned short* _pctype_dll; -# define _pctype _pctype_dll -# endif - -#else /* ! __DECLSPEC_SUPPORTED */ -# if __MSVCRT_VERSION__ <= 0x0700 - extern unsigned short** _imp___ctype; -# define _ctype (*_imp___ctype) -# endif -# ifdef __MSVCRT__ - extern unsigned short** _imp___pctype; -# define _pctype (*_imp___pctype) -# else /* CRTDLL */ - extern unsigned short** _imp___pctype_dll; -# define _pctype (*_imp___pctype_dll) -# endif /* CRTDLL */ -#endif /* __DECLSPEC_SUPPORTED */ - - -#if !(defined (__NO_INLINE__) || defined(__NO_CTYPE_INLINES) \ - || defined(__WCTYPE_INLINES_DEFINED)) -#define __WCTYPE_INLINES_DEFINED -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswlower(wint_t wc) {return (iswctype(wc,_LOWER));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswspace(wint_t wc) {return (iswctype(wc,_SPACE));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswupper(wint_t wc) {return (iswctype(wc,_UPPER));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));} -__CRT_INLINE int __cdecl __MINGW_NOTHROW isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);} - -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \ - || !defined __STRICT_ANSI__ || defined __cplusplus -__CRT_INLINE int __cdecl __MINGW_NOTHROW iswblank (wint_t wc) - {return (iswctype(wc, _BLANK) || wc == L'\t');} -#endif - -#endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */ - -typedef wchar_t wctrans_t; - -/* These are resolved by libmingwex.a. Note, that they are also exported - by the MS C++ runtime lib (msvcp60.dll). The msvcp60.dll implementations - of wctrans and towctrans are not C99 compliant in that wctrans("tolower") - returns 0, while std specifies that a non-zero value should be returned - for a valid string descriptor. If you want the MS behaviour (and you have - msvcp60.dll in your path) add -lmsvcp60 to your command line. */ - -wint_t __cdecl __MINGW_NOTHROW towctrans(wint_t, wctrans_t); -wctrans_t __cdecl __MINGW_NOTHROW wctrans(const char*); -wctype_t __cdecl __MINGW_NOTHROW wctype(const char*); - -#ifdef __cplusplus -} -#endif - -#endif /* Not RC_INVOKED */ - -#endif /* Not _WCTYPE_H_ */ - |