* include/_mingw.h (_CRTIMP): Define for __GNUC__ if

__declspec(dllimport)  supported.
	(__cdecl): Define if not already defined.
	(__stdcall): Likewise.
	* include/dirent.h: Qualify fuctions with __cdecl.
	* include/fenv.h: Likewise.
	* include/inttypes.h: Likewise.
	* include/assert.h: Qualify fuctions with __cdecl. Qualify
	CRT dll imports with _CRTIMP.
	* include/conio.h: Likewise.
	* include/ctype.h: Likewise.
	* include/direct.h: Likewise.
	* include/dos.h: Likewise.
	* include/errno.h: Likewise.
	* include/float.h: Likewise.
	* include/io.h: Likewise.
	* include/locale.h: Likewise.
	* include/malloc.h: Likewise.
	* include/math.h: Likewise.
	* include/mbctype.h: Likewise.
	* include/mbstring.h: Likewise.
	* include/process.h: Likewise.
	* include/setjmp.h: Likewise.
	* include/signal.h: Likewise.
	* include/stdio.h: Likewise.
	* include/stdlib.h: Likewise.
	* include/string.h: Likewise.
	* include/time.h: Likewise.
	* include/wchar.h: Likewise.
	* include/wctype.h: Likewise.
	* include/sys/stat.h: Likewise.
	* include/sys/timeb.h: Likewise.
	* include/sys/utime.h: Likewise.

	* include/ctype.h: Guard ctype inlines with __NO_INLINE__.
	* include/wctype.h: Guard wctype inlines with __NO_INLINE__.

	* include/stdio.h (__VALIST): Guard against prior definition.
This commit is contained in:
Danny Smith 2003-02-10 21:13:34 +00:00
parent 16f4e17208
commit 14e54d7c97
30 changed files with 1116 additions and 1049 deletions

View File

@ -1,3 +1,44 @@
2003-02-10 Danny Smith <dannysmith@users.sourceforge.net>
* include/_mingw.h (_CRTIMP): Define for __GNUC__ if
__declspec(dllimport) supported.
(__cdecl): Define if not already defined.
(__stdcall): Likewise.
* include/dirent.h: Qualify fuctions with __cdecl.
* include/fenv.h: Likewise.
* include/inttypes.h: Likewise.
* include/assert.h: Qualify fuctions with __cdecl. Qualify
CRT dll imports with _CRTIMP.
* include/conio.h: Likewise.
* include/ctype.h: Likewise.
* include/direct.h: Likewise.
* include/dos.h: Likewise.
* include/errno.h: Likewise.
* include/float.h: Likewise.
* include/io.h: Likewise.
* include/locale.h: Likewise.
* include/malloc.h: Likewise.
* include/math.h: Likewise.
* include/mbctype.h: Likewise.
* include/mbstring.h: Likewise.
* include/process.h: Likewise.
* include/setjmp.h: Likewise.
* include/signal.h: Likewise.
* include/stdio.h: Likewise.
* include/stdlib.h: Likewise.
* include/string.h: Likewise.
* include/time.h: Likewise.
* include/wchar.h: Likewise.
* include/wctype.h: Likewise.
* include/sys/stat.h: Likewise.
* include/sys/timeb.h: Likewise.
* include/sys/utime.h: Likewise.
* include/ctype.h: Guard ctype inlines with __NO_INLINE__.
* include/wctype.h: Guard wctype inlines with __NO_INLINE__.
* include/stdio.h (__VALIST): Guard against prior definition.
2003-02-08 Earnie Boyd <earnie@users.sf.net>
* include/_mingw.h: Change version to 3.0

View File

@ -29,6 +29,7 @@
__DECLSPEC_SUPPORTED Defined if dllimport attribute is supported.
__MINGW_IMPORT The attribute definition to specify imported
variables/functions.
_CRTIMP As above. For MS compatibility.
__MINGW32_VERSION Runtime version.
__MINGW32_MAJOR_VERSION Runtime major version.
__MINGW32_MINOR_VERSION Runtime minor version.
@ -47,6 +48,9 @@
# ifndef __MINGW_IMPORT
# define __MINGW_IMPORT __declspec(dllimport)
# endif
# ifndef _CRTIMP
# define _CRTIMP __declspec(dllimport)
# endif
# define __DECLSPEC_SUPPORTED
#else /* __GNUC__ */
# ifdef __declspec
@ -55,12 +59,24 @@
/* Note the extern. This is needed to work around GCC's
limitations in handling dllimport attribute. */
# define __MINGW_IMPORT extern __attribute__((dllimport))
# endif
# endif
# ifndef _CRTIMP
# define _CRTIMP __attribute__((dllimport))
# endif
# define __DECLSPEC_SUPPORTED
# else
# else /* __declspec */
# undef __DECLSPEC_SUPPORTED
# undef __MINGW_IMPORT
# endif
# ifndef _CRTIMP
# define _CRTIMP
# endif
# endif /* __declspec */
# ifndef __cdecl
# define __cdecl __attribute__((cdecl))
# endif
# ifndef __stdcall
# define __stdcall __attribute__((stdcall))
# endif
# undef __int64
# define __int64 long long
#endif /* __GNUC__ */
@ -70,4 +86,3 @@
#define __MINGW32_MINOR_VERSION 0
#endif /* __MINGW_H */

View File

@ -49,7 +49,7 @@ extern "C" {
* CRTDLL nicely supplies a function which does the actual output and
* call to abort.
*/
void _assert (const char*, const char*, int)
_CRTIMP void __cdecl _assert (const char*, const char*, int)
#ifdef __GNUC__
__attribute__ ((noreturn))
#endif

View File

@ -39,26 +39,25 @@
extern "C" {
#endif
_CRTIMP char* __cdecl _cgets (char*);
_CRTIMP int __cdecl _cprintf (const char*, ...);
_CRTIMP int __cdecl _cputs (const char*);
_CRTIMP int __cdecl _cscanf (char*, ...);
char* _cgets (char*);
int _cprintf (const char*, ...);
int _cputs (const char*);
int _cscanf (char*, ...);
int _getch (void);
int _getche (void);
int _kbhit (void);
int _putch (int);
int _ungetch (int);
_CRTIMP int __cdecl _getch (void);
_CRTIMP int __cdecl _getche (void);
_CRTIMP int __cdecl _kbhit (void);
_CRTIMP int __cdecl _putch (int);
_CRTIMP int __cdecl _ungetch (int);
#ifndef _NO_OLDNAMES
int getch (void);
int getche (void);
int kbhit (void);
int putch (int);
int ungetch (int);
_CRTIMP int __cdecl getch (void);
_CRTIMP int __cdecl getche (void);
_CRTIMP int __cdecl kbhit (void);
_CRTIMP int __cdecl putch (int);
_CRTIMP int __cdecl ungetch (int);
#endif /* Not _NO_OLDNAMES */

View File

@ -59,25 +59,25 @@
extern "C" {
#endif
int isalnum(int);
int isalpha(int);
int iscntrl(int);
int isdigit(int);
int isgraph(int);
int islower(int);
int isprint(int);
int ispunct(int);
int isspace(int);
int isupper(int);
int isxdigit(int);
_CRTIMP int __cdecl isalnum(int);
_CRTIMP int __cdecl isalpha(int);
_CRTIMP int __cdecl iscntrl(int);
_CRTIMP int __cdecl isdigit(int);
_CRTIMP int __cdecl isgraph(int);
_CRTIMP int __cdecl islower(int);
_CRTIMP int __cdecl isprint(int);
_CRTIMP int __cdecl ispunct(int);
_CRTIMP int __cdecl isspace(int);
_CRTIMP int __cdecl isupper(int);
_CRTIMP int __cdecl isxdigit(int);
#ifndef __STRICT_ANSI__
int _isctype (int, int);
_CRTIMP int __cdecl _isctype (int, int);
#endif
/* These are the ANSI versions, with correct checking of argument */
int tolower(int);
int toupper(int);
_CRTIMP int __cdecl tolower(int);
_CRTIMP int __cdecl toupper(int);
/*
* NOTE: The above are not old name type wrappers, but functions exported
@ -89,8 +89,8 @@ int toupper(int);
* 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
*/
int _tolower(int);
int _toupper(int);
_CRTIMP int __cdecl _tolower(int);
_CRTIMP int __cdecl _toupper(int);
#endif
/* Also defined in stdlib.h */
@ -152,24 +152,25 @@ extern unsigned short** _imp___ctype;
*/
#if ! (defined (__NO_CTYPE_INLINES) || defined (__STRICT_ANSI__ ))
#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))
extern __inline__ int isalnum(int c) {return __ISCTYPE(c, (_ALPHA|_DIGIT));}
extern __inline__ int isalpha(int c) {return __ISCTYPE(c, _ALPHA);}
extern __inline__ int iscntrl(int c) {return __ISCTYPE(c, _CONTROL);}
extern __inline__ int isdigit(int c) {return __ISCTYPE(c, _DIGIT);}
extern __inline__ int isgraph(int c) {return __ISCTYPE(c, (_PUNCT|_ALPHA|_DIGIT));}
extern __inline__ int islower(int c) {return __ISCTYPE(c, _LOWER);}
extern __inline__ int isprint(int c) {return __ISCTYPE(c, (_BLANK|_PUNCT|_ALPHA|_DIGIT));}
extern __inline__ int ispunct(int c) {return __ISCTYPE(c, _PUNCT);}
extern __inline__ int isspace(int c) {return __ISCTYPE(c, _SPACE);}
extern __inline__ int isupper(int c) {return __ISCTYPE(c, _UPPER);}
extern __inline__ int isxdigit(int c) {return __ISCTYPE(c, _HEX);}
extern __inline__ int __cdecl isalnum(int c) {return __ISCTYPE(c, (_ALPHA|_DIGIT));}
extern __inline__ int __cdecl isalpha(int c) {return __ISCTYPE(c, _ALPHA);}
extern __inline__ int __cdecl iscntrl(int c) {return __ISCTYPE(c, _CONTROL);}
extern __inline__ int __cdecl isdigit(int c) {return __ISCTYPE(c, _DIGIT);}
extern __inline__ int __cdecl isgraph(int c) {return __ISCTYPE(c, (_PUNCT|_ALPHA|_DIGIT));}
extern __inline__ int __cdecl islower(int c) {return __ISCTYPE(c, _LOWER);}
extern __inline__ int __cdecl isprint(int c) {return __ISCTYPE(c, (_BLANK|_PUNCT|_ALPHA|_DIGIT));}
extern __inline__ int __cdecl ispunct(int c) {return __ISCTYPE(c, _PUNCT);}
extern __inline__ int __cdecl isspace(int c) {return __ISCTYPE(c, _SPACE);}
extern __inline__ int __cdecl isupper(int c) {return __ISCTYPE(c, _UPPER);}
extern __inline__ int __cdecl isxdigit(int c) {return __ISCTYPE(c, _HEX);}
/* these reproduce behaviour of lib underscored versions */
extern __inline__ int _tolower(int c) {return ( c -'A'+'a');}
extern __inline__ int _toupper(int c) {return ( c -'a'+'A');}
extern __inline__ int __cdecl _tolower(int c) {return ( c -'A'+'a');}
extern __inline__ int __cdecl _toupper(int c) {return ( c -'a'+'A');}
/* TODO? Is it worth inlining ANSI tolower, toupper? Probably only
if we only want C-locale. */
@ -187,62 +188,64 @@ typedef wchar_t wctype_t;
#define _WCTYPE_T_DEFINED
#endif
int iswalnum(wint_t);
int iswalpha(wint_t);
int iswascii(wint_t);
int iswcntrl(wint_t);
int iswctype(wint_t, wctype_t);
int is_wctype(wint_t, wctype_t); /* Obsolete! */
int iswdigit(wint_t);
int iswgraph(wint_t);
int iswlower(wint_t);
int iswprint(wint_t);
int iswpunct(wint_t);
int iswspace(wint_t);
int iswupper(wint_t);
int iswxdigit(wint_t);
_CRTIMP int __cdecl iswalnum(wint_t);
_CRTIMP int __cdecl iswalpha(wint_t);
_CRTIMP int __cdecl iswascii(wint_t);
_CRTIMP int __cdecl iswcntrl(wint_t);
_CRTIMP int __cdecl iswctype(wint_t, wctype_t);
_CRTIMP int __cdecl is_wctype(wint_t, wctype_t); /* Obsolete! */
_CRTIMP int __cdecl iswdigit(wint_t);
_CRTIMP int __cdecl iswgraph(wint_t);
_CRTIMP int __cdecl iswlower(wint_t);
_CRTIMP int __cdecl iswprint(wint_t);
_CRTIMP int __cdecl iswpunct(wint_t);
_CRTIMP int __cdecl iswspace(wint_t);
_CRTIMP int __cdecl iswupper(wint_t);
_CRTIMP int __cdecl iswxdigit(wint_t);
wchar_t towlower(wchar_t);
wchar_t towupper(wchar_t);
_CRTIMP wchar_t __cdecl towlower(wchar_t);
_CRTIMP wchar_t __cdecl towupper(wchar_t);
int isleadbyte (int);
_CRTIMP int __cdecl isleadbyte (int);
/* Also in wctype.h */
#if ! (defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED))
#if ! (defined (__NO_INLINE__) || defined(__NO_CTYPE_INLINES) \
|| defined(__WCTYPE_INLINES_DEFINED))
#define __WCTYPE_INLINES_DEFINED
extern __inline__ int iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));}
extern __inline__ int iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));}
extern __inline__ int iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);}
extern __inline__ int iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));}
extern __inline__ int iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));}
extern __inline__ int iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));}
extern __inline__ int iswlower(wint_t wc) {return (iswctype(wc,_LOWER));}
extern __inline__ int iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));}
extern __inline__ int iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));}
extern __inline__ int iswspace(wint_t wc) {return (iswctype(wc,_SPACE));}
extern __inline__ int iswupper(wint_t wc) {return (iswctype(wc,_UPPER));}
extern __inline__ int iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));}
extern __inline__ int isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);}
extern __inline__ int __cdecl iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));}
extern __inline__ int __cdecl iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));}
extern __inline__ int __cdecl iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);}
extern __inline__ int __cdecl iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));}
extern __inline__ int __cdecl iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));}
extern __inline__ int __cdecl iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));}
extern __inline__ int __cdecl iswlower(wint_t wc) {return (iswctype(wc,_LOWER));}
extern __inline__ int __cdecl iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));}
extern __inline__ int __cdecl iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));}
extern __inline__ int __cdecl iswspace(wint_t wc) {return (iswctype(wc,_SPACE));}
extern __inline__ int __cdecl iswupper(wint_t wc) {return (iswctype(wc,_UPPER));}
extern __inline__ int __cdecl iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));}
extern __inline__ int __cdecl isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);}
#endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */
#ifndef __STRICT_ANSI__
int __isascii (int);
int __toascii (int);
int __iscsymf (int); /* Valid first character in C symbol */
int __iscsym (int); /* Valid character in C symbol (after first) */
int __cdecl __isascii (int);
int __cdecl __toascii (int);
int __cdecl __iscsymf (int); /* Valid first character in C symbol */
int __cdecl __iscsym (int); /* Valid character in C symbol (after first) */
#ifndef __NO_CTYPE_INLINES
extern __inline__ int __isascii(int c) {return ((c & ~0x7F) == 0);}
extern __inline__ int __toascii(int c) {return (c & 0x7F);}
extern __inline__ int __iscsymf(int c) {return (isalpha(c) || (c == '_'));}
extern __inline__ int __iscsym(int c) {return (isalnum(c) || (c == '_'));}
#if !(defined (__NO_INLINE__) || defined (__NO_CTYPE_INLINES))
extern __inline__ int __cdecl __isascii(int c) {return ((c & ~0x7F) == 0);}
extern __inline__ int __cdecl __toascii(int c) {return (c & 0x7F);}
extern __inline__ int __cdecl __iscsymf(int c) {return (isalpha(c) || (c == '_'));}
extern __inline__ int __cdecl __iscsym(int c) {return (isalnum(c) || (c == '_'));}
#endif /* __NO_CTYPE_INLINES */
#ifndef _NO_OLDNAMES
int isascii (int);
int toascii (int);
int iscsymf (int);
int iscsym (int);
/* Not _CRTIMP */
int __cdecl isascii (int);
int __cdecl toascii (int);
int __cdecl iscsymf (int);
int __cdecl iscsym (int);
#endif /* Not _NO_OLDNAMES */
#endif /* Not __STRICT_ANSI__ */

View File

@ -61,11 +61,11 @@ struct _diskfree_t {
* You really shouldn't be using these. Use the Win32 API functions instead.
* However, it does make it easier to port older code.
*/
int _getdrive (void);
unsigned long _getdrives(void);
int _chdrive (int);
char* _getdcwd (int, char*, int);
unsigned _getdiskfree (unsigned, struct _diskfree_t *);
_CRTIMP int __cdecl _getdrive (void);
_CRTIMP unsigned long __cdecl _getdrives(void);
_CRTIMP int __cdecl _chdrive (int);
_CRTIMP char* __cdecl _getdcwd (int, char*, int);
_CRTIMP unsigned __cdecl _getdiskfree (unsigned, struct _diskfree_t *);
#ifndef _NO_OLDNAMES
# define diskfree_t _diskfree_t
@ -74,11 +74,11 @@ unsigned _getdiskfree (unsigned, struct _diskfree_t *);
#ifndef _WDIRECT_DEFINED
/* wide character versions. Also in wchar.h */
#ifdef __MSVCRT__
int _wchdir(const wchar_t*);
wchar_t* _wgetcwd(wchar_t*, int);
wchar_t* _wgetdcwd(int, wchar_t*, int);
int _wmkdir(const wchar_t*);
int _wrmdir(const wchar_t*);
_CRTIMP int __cdecl _wchdir(const wchar_t*);
_CRTIMP wchar_t* __cdecl _wgetcwd(wchar_t*, int);
_CRTIMP wchar_t* __cdecl _wgetdcwd(int, wchar_t*, int);
_CRTIMP int __cdecl _wmkdir(const wchar_t*);
_CRTIMP int __cdecl _wrmdir(const wchar_t*);
#endif /* __MSVCRT__ */
#define _WDIRECT_DEFINED
#endif

View File

@ -77,12 +77,12 @@ typedef struct
char dd_name[1];
} DIR;
DIR* opendir (const char*);
struct dirent* readdir (DIR*);
int closedir (DIR*);
void rewinddir (DIR*);
long telldir (DIR*);
void seekdir (DIR*, long);
DIR* __cdecl opendir (const char*);
struct dirent* __cdecl readdir (DIR*);
int __cdecl closedir (DIR*);
void __cdecl rewinddir (DIR*);
long __cdecl telldir (DIR*);
void __cdecl seekdir (DIR*, long);
/* wide char versions */
@ -127,12 +127,12 @@ typedef struct
_WDIR* _wopendir (const wchar_t*);
struct _wdirent* _wreaddir (_WDIR*);
int _wclosedir (_WDIR*);
void _wrewinddir (_WDIR*);
long _wtelldir (_WDIR*);
void _wseekdir (_WDIR*, long);
_WDIR* __cdecl _wopendir (const wchar_t*);
struct _wdirent* __cdecl _wreaddir (_WDIR*);
int __cdecl _wclosedir (_WDIR*);
void __cdecl _wrewinddir (_WDIR*);
long __cdecl _wtelldir (_WDIR*);
void __cdecl _wseekdir (_WDIR*, long);
#ifdef __cplusplus

View File

@ -92,7 +92,7 @@ struct _diskfree_t {
#define _DISKFREE_T_DEFINED
#endif
unsigned _getdiskfree (unsigned, struct _diskfree_t *);
_CRTIMP unsigned __cdecl _getdiskfree (unsigned, struct _diskfree_t *);
#ifndef _NO_OLDNAMES
# define diskfree_t _diskfree_t

View File

@ -104,7 +104,7 @@ extern "C" {
#undef errno
extern int errno;
#else
int* _errno(void);
_CRTIMP int* __cdecl _errno(void);
#define errno (*_errno())
#endif

View File

@ -65,23 +65,23 @@ extern "C" {
/*TODO: Some of these could be inlined */
/* 7.6.2 Exception */
extern int feclearexcept (int);
extern int fegetexceptflag (fexcept_t * flagp, int excepts);
extern int feraiseexcept (int excepts );
extern int fesetexceptflag (const fexcept_t *, int);
extern int fetestexcept (int excepts);
extern int __cdecl feclearexcept (int);
extern int __cdecl fegetexceptflag (fexcept_t * flagp, int excepts);
extern int __cdecl feraiseexcept (int excepts );
extern int __cdecl fesetexceptflag (const fexcept_t *, int);
extern int __cdecl fetestexcept (int excepts);
/* 7.6.3 Rounding */
extern int fegetround (void);
extern int fesetround (int mode);
extern int __cdecl fegetround (void);
extern int __cdecl fesetround (int mode);
/* 7.6.4 Environment */
extern int fegetenv (fenv_t * envp);
extern int fesetenv (const fenv_t * );
extern int feupdateenv (const fenv_t *);
extern int feholdexcept (fenv_t *);
extern int __cdecl fegetenv (fenv_t * envp);
extern int __cdecl fesetenv (const fenv_t * );
extern int __cdecl feupdateenv (const fenv_t *);
extern int __cdecl feholdexcept (fenv_t *);
#ifdef __cplusplus
}

View File

@ -115,12 +115,12 @@ extern "C" {
/* 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. */
unsigned int _controlfp (unsigned int unNew, unsigned int unMask);
unsigned int _control87 (unsigned int unNew, unsigned int unMask);
_CRTIMP unsigned int __cdecl _controlfp (unsigned int unNew, unsigned int unMask);
_CRTIMP unsigned int __cdecl _control87 (unsigned int unNew, unsigned int unMask);
unsigned int _clearfp (void); /* Clear the FPU status word */
unsigned int _statusfp (void); /* Report the FPU status word */
_CRTIMP unsigned int __cdecl _clearfp (void); /* Clear the FPU status word */
_CRTIMP unsigned int __cdecl _statusfp (void); /* Report the FPU status word */
#define _clear87 _clearfp
#define _status87 _statusfp
@ -134,11 +134,11 @@ unsigned int _statusfp (void); /* Report the FPU status word */
per fninit. To use the MSVCRT.dll _fpreset, include CRT_fp8.o when
building your application.
*/
void _fpreset (void);
void fpreset (void);
void __cdecl _fpreset (void);
void __cdecl fpreset (void);
/* Global 'variable' for the current floating point error code. */
int * __fpecode(void);
_CRTIMP int * __cdecl __fpecode(void);
#define _fpecode (*(__fpecode()))
/*
@ -146,15 +146,15 @@ int * __fpecode(void);
* but they really belong in math.h.
*/
double _chgsign (double);
double _copysign (double, double);
double _logb (double);
double _nextafter (double, double);
double _scalb (double, long);
_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);
int _finite (double);
int _fpclass (double);
int _isnan (double);
_CRTIMP int __cdecl _finite (double);
_CRTIMP int __cdecl _fpclass (double);
_CRTIMP int __cdecl _isnan (double);
#ifdef __cplusplus
}

View File

@ -254,19 +254,21 @@ typedef struct {
#endif /* !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) */
extern __inline__ intmax_t imaxabs (intmax_t j)
extern __inline__ intmax_t __cdecl imaxabs (intmax_t j)
{return (j >= 0 ? j : -j);}
imaxdiv_t imaxdiv (intmax_t numer, intmax_t denom);
imaxdiv_t __cdecl imaxdiv (intmax_t numer, intmax_t denom);
/* 7.8.2 Conversion functions for greatest-width integer types */
intmax_t strtoimax (const char* __restrict__ nptr, char** __restrict__ endptr, int base);
uintmax_t strtoumax (const char* __restrict__ nptr, char** __restrict__ endptr, int base);
intmax_t __cdecl strtoimax (const char* __restrict__ nptr,
char** __restrict__ endptr, int base);
uintmax_t __cdecl strtoumax (const char* __restrict__ nptr,
char** __restrict__ endptr, int base);
intmax_t wcstoimax (const wchar_t* __restrict__ nptr, wchar_t** __restrict__ endptr,
int base);
uintmax_t wcstoumax (const wchar_t* __restrict__ nptr, wchar_t** __restrict__ endptr,
int base);
intmax_t __cdecl wcstoimax (const wchar_t* __restrict__ nptr,
wchar_t** __restrict__ endptr, int base);
uintmax_t __cdecl wcstoumax (const wchar_t* __restrict__ nptr,
wchar_t** __restrict__ endptr, int base);
#ifdef __cplusplus
}

View File

@ -116,36 +116,36 @@ extern "C" {
* _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.
*/
int _findfirst (const char*, struct _finddata_t*);
int _findnext (int, struct _finddata_t*);
int _findclose (int);
_CRTIMP int __cdecl _findfirst (const char*, struct _finddata_t*);
_CRTIMP int __cdecl _findnext (int, struct _finddata_t*);
_CRTIMP int __cdecl _findclose (int);
int _chdir (const char*);
char* _getcwd (char*, int);
int _mkdir (const char*);
char* _mktemp (char*);
int _rmdir (const char*);
int _chmod (const char*, int);
_CRTIMP int __cdecl _chdir (const char*);
_CRTIMP char* __cdecl _getcwd (char*, int);
_CRTIMP int __cdecl _mkdir (const char*);
_CRTIMP char* __cdecl _mktemp (char*);
_CRTIMP int __cdecl _rmdir (const char*);
_CRTIMP int __cdecl _chmod (const char*, int);
#ifdef __MSVCRT__
__int64 _filelengthi64(int);
long _findfirsti64(const char*, struct _finddatai64_t*);
int _findnexti64(long, struct _finddatai64_t*);
__int64 _lseeki64(int, __int64, int);
__int64 _telli64(int);
_CRTIMP __int64 __cdecl _filelengthi64(int);
_CRTIMP long __cdecl _findfirsti64(const char*, struct _finddatai64_t*);
_CRTIMP int __cdecl _findnexti64(long, struct _finddatai64_t*);
_CRTIMP __int64 __cdecl _lseeki64(int, __int64, int);
_CRTIMP __int64 __cdecl _telli64(int);
#endif /* __MSVCRT__ */
#ifndef _NO_OLDNAMES
#ifndef _UWIN
int chdir (const char*);
char* getcwd (char*, int);
int mkdir (const char*);
char* mktemp (char*);
int rmdir (const char*);
int chmod (const char*, int);
_CRTIMP int __cdecl chdir (const char*);
_CRTIMP char* __cdecl getcwd (char*, int);
_CRTIMP int __cdecl mkdir (const char*);
_CRTIMP char* __cdecl mktemp (char*);
_CRTIMP int __cdecl rmdir (const char*);
_CRTIMP int __cdecl chmod (const char*, int);
#endif /* _UWIN */
#endif /* Not _NO_OLDNAMES */
@ -176,21 +176,21 @@ int chmod (const char*, int);
extern "C" {
#endif
int _access (const char*, int);
int _chsize (int, long);
int _close (int);
int _commit(int);
_CRTIMP int __cdecl _access (const char*, int);
_CRTIMP int __cdecl _chsize (int, long);
_CRTIMP int __cdecl _close (int);
_CRTIMP int __cdecl _commit(int);
/* NOTE: The only significant bit in unPermissions appears to be bit 7 (0x80),
* the "owner write permission" bit (on FAT). */
int _creat (const char*, int);
_CRTIMP int __cdecl _creat (const char*, int);
int _dup (int);
int _dup2 (int, int);
long _filelength (int);
int _fileno (FILE*);
long _get_osfhandle (int);
int _isatty (int);
_CRTIMP int __cdecl _dup (int);
_CRTIMP int __cdecl _dup2 (int, int);
_CRTIMP long __cdecl _filelength (int);
_CRTIMP int __cdecl _fileno (FILE*);
_CRTIMP long __cdecl _get_osfhandle (int);
_CRTIMP int __cdecl _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
@ -198,47 +198,47 @@ int _isatty (int);
* 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
int _eof (int);
_CRTIMP int __cdecl _eof (int);
#endif
/* LK_... locking commands defined in sys/locking.h. */
int _locking (int, int, long);
_CRTIMP int __cdecl _locking (int, int, long);
long _lseek (int, long, int);
_CRTIMP long __cdecl _lseek (int, long, int);
/* Optional third argument is unsigned unPermissions. */
int _open (const char*, int, ...);
_CRTIMP int __cdecl _open (const char*, int, ...);
int _open_osfhandle (long, int);
int _pipe (int *, unsigned int, int);
int _read (int, void*, unsigned int);
int _setmode (int, int);
_CRTIMP int __cdecl _open_osfhandle (long, int);
_CRTIMP int __cdecl _pipe (int *, unsigned int, int);
_CRTIMP int __cdecl _read (int, void*, unsigned int);
_CRTIMP int __cdecl _setmode (int, int);
/* SH_... flags for nShFlags defined in share.h
* Optional fourth argument is unsigned unPermissions */
int _sopen (const char*, int, int, ...);
_CRTIMP int __cdecl _sopen (const char*, int, int, ...);
long _tell (int);
_CRTIMP long __cdecl _tell (int);
/* Should umask be in sys/stat.h and/or sys/types.h instead? */
int _umask (int);
int _unlink (const char*);
int _write (int, const void*, unsigned int);
_CRTIMP int __cdecl _umask (int);
_CRTIMP int __cdecl _unlink (const char*);
_CRTIMP int __cdecl _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__)
int _waccess(const wchar_t*, int);
int _wchmod(const wchar_t*, int);
int _wcreat(const wchar_t*, int);
long _wfindfirst(const wchar_t*, struct _wfinddata_t*);
int _wfindnext(long, struct _wfinddata_t *);
int _wunlink(const wchar_t*);
int _wopen(const wchar_t*, int, ...);
int _wsopen(const wchar_t*, int, int, ...);
wchar_t * _wmktemp(wchar_t*);
long _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*);
int _wfindnexti64(long, struct _wfinddatai64_t*);
_CRTIMP int __cdecl _waccess(const wchar_t*, int);
_CRTIMP int __cdecl _wchmod(const wchar_t*, int);
_CRTIMP int __cdecl _wcreat(const wchar_t*, int);
_CRTIMP long __cdecl _wfindfirst(const wchar_t*, struct _wfinddata_t*);
_CRTIMP int __cdecl _wfindnext(long, struct _wfinddata_t *);
_CRTIMP int __cdecl _wunlink(const wchar_t*);
_CRTIMP int __cdecl _wopen(const wchar_t*, int, ...);
_CRTIMP int __cdecl _wsopen(const wchar_t*, int, int, ...);
_CRTIMP wchar_t * __cdecl _wmktemp(wchar_t*);
_CRTIMP long __cdecl _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*);
_CRTIMP int __cdecl _wfindnexti64(long, struct _wfinddatai64_t*);
#endif /* defined (__MSVCRT__) */
#define _WIO_DEFINED
#endif /* _WIO_DEFINED */
@ -250,25 +250,25 @@ int _wfindnexti64(long, struct _wfinddatai64_t*);
*/
#ifndef _UWIN
int access (const char*, int);
int chsize (int, long );
int close (int);
int creat (const char*, int);
int dup (int);
int dup2 (int, int);
int eof (int);
long filelength (int);
int fileno (FILE*);
int isatty (int);
long lseek (int, long, int);
int open (const char*, int, ...);
int read (int, void*, unsigned int);
int setmode (int, int);
int sopen (const char*, int, int, ...);
long tell (int);
int umask (int);
int unlink (const char*);
int write (int, const void*, unsigned int);
_CRTIMP int __cdecl access (const char*, int);
_CRTIMP int __cdecl chsize (int, long );
_CRTIMP int __cdecl close (int);
_CRTIMP int __cdecl creat (const char*, int);
_CRTIMP int __cdecl dup (int);
_CRTIMP int __cdecl dup2 (int, int);
_CRTIMP int __cdecl eof (int);
_CRTIMP long __cdecl filelength (int);
_CRTIMP int __cdecl fileno (FILE*);
_CRTIMP int __cdecl isatty (int);
_CRTIMP long __cdecl lseek (int, long, int);
_CRTIMP int __cdecl open (const char*, int, ...);
_CRTIMP int __cdecl read (int, void*, unsigned int);
_CRTIMP int __cdecl setmode (int, int);
_CRTIMP int __cdecl sopen (const char*, int, int, ...);
_CRTIMP long __cdecl tell (int);
_CRTIMP int __cdecl umask (int);
_CRTIMP int __cdecl unlink (const char*);
_CRTIMP int __cdecl write (int, const void*, unsigned int);
#endif /* _UWIN */
/* Wide character versions. Also declared in wchar.h. */

View File

@ -84,13 +84,13 @@ struct lconv
extern "C" {
#endif
char* setlocale (int, const char*);
struct lconv* localeconv (void);
_CRTIMP char* __cdecl setlocale (int, const char*);
_CRTIMP struct lconv* __cdecl localeconv (void);
#ifndef _WLOCALE_DEFINED /* also declared in wchar.h */
# define __need_wchar_t
# include <stddef.h>
wchar_t* _wsetlocale(int, const wchar_t*);
_CRTIMP wchar_t* __cdecl _wsetlocale(int, const wchar_t*);
# define _WLOCALE_DEFINED
#endif /* ndef _WLOCALE_DEFINED */

View File

@ -60,26 +60,26 @@ extern "C" {
The _heap* memory allocation functions are supported on NT
but not W9x. On latter, they always set errno to ENOSYS.
*/
int _heapwalk (_HEAPINFO*);
_CRTIMP int __cdecl _heapwalk (_HEAPINFO*);
#ifdef __GNUC__
#define _alloca(x) __builtin_alloca((x))
#endif
#ifndef _NO_OLDNAMES
int heapwalk (_HEAPINFO*);
_CRTIMP int __cdecl heapwalk (_HEAPINFO*);
#ifdef __GNUC__
#define alloca(x) __builtin_alloca((x))
#endif
#endif /* Not _NO_OLDNAMES */
int _heapchk (void); /* Verify heap integrety. */
int _heapmin (void); /* Return unused heap to the OS. */
int _heapset (unsigned int);
_CRTIMP int __cdecl _heapchk (void); /* Verify heap integrety. */
_CRTIMP int __cdecl _heapmin (void); /* Return unused heap to the OS. */
_CRTIMP int __cdecl _heapset (unsigned int);
size_t _msize (void*);
size_t _get_sbh_threshold (void);
int _set_sbh_threshold (size_t);
void * _expand (void*, size_t);
_CRTIMP size_t __cdecl _msize (void*);
_CRTIMP size_t __cdecl _get_sbh_threshold (void);
_CRTIMP int __cdecl _set_sbh_threshold (size_t);
_CRTIMP void* __cdecl _expand (void*, size_t);
#ifdef __cplusplus
}

View File

@ -146,37 +146,39 @@ struct _exception
};
double sin (double);
double cos (double);
double tan (double);
double sinh (double);
double cosh (double);
double tanh (double);
double asin (double);
double acos (double);
double atan (double);
double atan2 (double, double);
double exp (double);
double log (double);
double log10 (double);
double pow (double, double);
double sqrt (double);
double ceil (double);
double floor (double);
double fabs (double);
extern __inline__ double fabs (double x)
_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);
#if !defined (__NO_INLINES__)
extern __inline__ __cdecl double fabs (double x)
{
double res;
__asm__ ("fabs;" : "=t" (res) : "0" (x));
return res;
}
double ldexp (double, int);
double frexp (double, int*);
double modf (double, double*);
double fmod (double, double);
#endif
_CRTIMP double __cdecl ldexp (double, int);
_CRTIMP double __cdecl frexp (double, int*);
_CRTIMP double __cdecl modf (double, double*);
_CRTIMP double __cdecl fmod (double, double);
#ifndef __STRICT_ANSI__
#ifndef __STRICT_ANSI__
/* Complex number (for cabs). This really belongs in complex.h */
struct _complex
@ -185,16 +187,16 @@ struct _complex
double y; /* Imaginary part */
};
double _cabs (struct _complex);
_CRTIMP double __cdecl _cabs (struct _complex);
double _hypot (double, double);
double _j0 (double);
double _j1 (double);
double _jn (int, double);
double _y0 (double);
double _y1 (double);
double _yn (int, double);
int _matherr (struct _exception *);
_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. */
@ -203,15 +205,15 @@ int _matherr (struct _exception *);
* IEEE recommended functions
*/
double _chgsign (double);
double _copysign (double, double);
double _logb (double);
double _nextafter (double, double);
double _scalb (double, long);
_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);
int _finite (double);
int _fpclass (double);
int _isnan (double);
_CRTIMP int __cdecl _finite (double);
_CRTIMP int __cdecl _fpclass (double);
_CRTIMP int __cdecl _isnan (double);
/* END FLOAT.H COPY */
@ -223,27 +225,27 @@ int _isnan (double);
#if !defined (_NO_OLDNAMES)
double cabs (struct _complex);
double j0 (double);
double j1 (double);
double jn (int, double);
double y0 (double);
double y1 (double);
double yn (int, double);
_CRTIMP double __cdecl cabs (struct _complex);
_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);
double chgsign (double);
double scalb (double, long);
int finite (double);
int fpclass (double);
_CRTIMP double __cdecl chgsign (double);
_CRTIMP double __cdecl scalb (double, long);
_CRTIMP int __cdecl finite (double);
_CRTIMP int __cdecl fpclass (double);
#endif /* Not _NO_OLDNAMES */
#endif /* Not _NO_OLDNAMES */
#endif /* __STRICT_ANSI__ */
#ifndef __NO_ISOCEXT
#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
|| !defined __STRICT_ANSI__ || defined __GLIBCPP__
|| !defined __STRICT_ANSI__ || defined __GLIBCPP__
#define NAN (0.0F/0.0F)
#define HUGE_VALF (1.0F/0.0F)
@ -273,10 +275,10 @@ int fpclass (double);
converted to double, and zero when converted to float.)
*/
extern int __fpclassifyf (float);
extern int __fpclassify (double);
extern int __cdecl __fpclassifyf (float);
extern int __cdecl __fpclassify (double);
extern __inline__ int __fpclassifyl (long double x){
extern __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 );
@ -296,7 +298,7 @@ extern __inline__ int __fpclassifyl (long double x){
/* We don't need to worry about trucation here:
A NaN stays a NaN. */
extern __inline__ int __isnan (double _x)
extern __inline__ int __cdecl __isnan (double _x)
{
unsigned short sw;
__asm__ ("fxam;"
@ -305,7 +307,7 @@ extern __inline__ int __isnan (double _x)
== FP_NAN;
}
extern __inline__ int __isnanf (float _x)
extern __inline__ int __cdecl __isnanf (float _x)
{
unsigned short sw;
__asm__ ("fxam;"
@ -314,7 +316,7 @@ extern __inline__ int __isnanf (float _x)
== FP_NAN;
}
extern __inline__ int __isnanl (long double _x)
extern __inline__ int __cdecl __isnanl (long double _x)
{
unsigned short sw;
__asm__ ("fxam;"
@ -332,120 +334,120 @@ extern __inline__ int __isnanl (long double _x)
#define isnormal(x) (fpclassify(x) == FP_NORMAL)
/* 7.12.3.6 The signbit macro */
extern __inline__ int __signbit (double x) {
extern __inline__ int __cdecl __signbit (double x) {
unsigned short stw;
__asm__ ( "fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
return stw & 0x0200;
}
extern __inline__ int __signbitf (float x) {
unsigned short stw;
__asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
return stw & 0x0200;
}
extern __inline__ int __signbitl (long double x) {
extern __inline__ int __cdecl __signbitf (float x) {
unsigned short stw;
__asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
return stw & 0x0200;
}
extern __inline__ int __cdecl __signbitl (long double x) {
unsigned short stw;
__asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
return stw & 0x0200;
}
#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 sinf (float);
extern long double sinl (long double);
extern float __cdecl sinf (float);
extern long double __cdecl sinl (long double);
extern float cosf (float);
extern long double cosl (long double);
extern float __cdecl cosf (float);
extern long double __cdecl cosl (long double);
extern float tanf (float);
extern long double tanl (long double);
extern float __cdecl tanf (float);
extern long double __cdecl tanl (long double);
extern float asinf (float);
extern long double asinl (long double);
extern float __cdecl asinf (float);
extern long double __cdecl asinl (long double);
extern float acosf (float);
extern long double acosl (long double);
extern float __cdecl acosf (float);
extern long double __cdecl acosl (long double);
extern float atanf (float);
extern long double atanl (long double);
extern float __cdecl atanf (float);
extern long double __cdecl atanl (long double);
extern float atan2f (float, float);
extern long double atan2l (long double, 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 __inline__ float sinhf (float x)
extern __inline__ float __cdecl sinhf (float x)
{return (float) sinh (x);}
extern long double sinhl (long double);
extern long double __cdecl sinhl (long double);
extern __inline__ float coshf (float x)
extern __inline__ float __cdecl coshf (float x)
{return (float) cosh (x);}
extern long double coshl (long double);
extern long double __cdecl coshl (long double);
extern __inline__ float tanhf (float x)
extern __inline__ float __cdecl tanhf (float x)
{return (float) tanh (x);}
extern long double tanhl (long double);
extern long double __cdecl tanhl (long double);
/*
* TODO: asinh, acosh, atanh
*/
/* 7.12.6.1 Double in C89 */
extern __inline__ float expf (float x)
extern __inline__ float __cdecl expf (float x)
{return (float) exp (x);}
extern long double expl (long double);
extern long double __cdecl expl (long double);
/* 7.12.6.2 */
extern double exp2(double);
extern float exp2f(float);
extern long double exp2l(long double);
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 */
/* 7.12.6.4 Double in C89 */
extern __inline__ float frexpf (float x, int* expn)
extern __inline__ float __cdecl frexpf (float x, int* expn)
{return (float) frexp (x, expn);}
extern long double frexpl (long double, int*);
extern long double __cdecl frexpl (long double, int*);
/* 7.12.6.5 */
#define FP_ILOGB0 ((int)0x80000000)
#define FP_ILOGBNAN ((int)0x80000000)
extern int ilogb (double);
extern int ilogbf (float);
extern int ilogbl (long double);
extern int __cdecl ilogb (double);
extern int __cdecl ilogbf (float);
extern int __cdecl ilogbl (long double);
/* 7.12.6.6 Double in C89 */
extern __inline__ float ldexpf (float x, int expn)
extern __inline__ float __cdecl ldexpf (float x, int expn)
{return (float) ldexp (x, expn);}
extern long double ldexpl (long double, int);
extern long double __cdecl ldexpl (long double, int);
/* 7.12.6.7 Double in C89 */
extern float logf (float);
extern long double logl (long double);
extern float __cdecl logf (float);
extern long double __cdecl logl (long double);
/* 7.12.6.8 Double in C89 */
extern float log10f (float);
extern long double log10l (long double);
extern float __cdecl log10f (float);
extern long double __cdecl log10l (long double);
/* 7.12.6.9 */
extern double log1p(double);
extern float log1pf(float);
extern long double log1pl(long double);
extern double __cdecl log1p(double);
extern float __cdecl log1pf(float);
extern long double __cdecl log1pl(long double);
/* 7.12.6.10 */
extern double log2 (double);
extern float log2f (float);
extern long double log2l (long double);
extern double __cdecl log2 (double);
extern float __cdecl log2f (float);
extern long double __cdecl log2l (long double);
/* 7.12.6.11 */
extern double logb (double);
extern float logbf (float);
extern long double logbl (long double);
extern double __cdecl logb (double);
extern float __cdecl logbf (float);
extern long double __cdecl logbl (long double);
extern __inline__ double logb (double x)
extern __inline__ double __cdecl logb (double x)
{
double res;
__asm__ ("fxtract\n\t"
@ -453,7 +455,7 @@ extern __inline__ double logb (double x)
return res;
}
extern __inline__ float logbf (float x)
extern __inline__ float __cdecl logbf (float x)
{
float res;
__asm__ ("fxtract\n\t"
@ -461,7 +463,7 @@ extern __inline__ float logbf (float x)
return res;
}
extern __inline__ long double logbl (long double x)
extern __inline__ long double __cdecl logbl (long double x)
{
long double res;
__asm__ ("fxtract\n\t"
@ -470,33 +472,33 @@ extern __inline__ long double logbl (long double x)
}
/* 7.12.6.12 Double in C89 */
extern float modff (float, float*);
extern long double modfl (long double, long double*);
extern float __cdecl modff (float, float*);
extern long double __cdecl modfl (long double, long double*);
/* 7.12.6.13 */
extern double scalbn (double, int);
extern float scalbnf (float, int);
extern long double scalbnl (long double, int);
extern double __cdecl scalbn (double, int);
extern float __cdecl scalbnf (float, int);
extern long double __cdecl scalbnl (long double, int);
extern double scalbln (double, long);
extern float scalblnf (float, long);
extern long double scalblnl (long double, long);
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 cbrt (double);
extern float cbrtf (float);
extern long double cbrtl (long double);
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 __inline__ float fabsf (float x)
extern __inline__ float __cdecl fabsf (float x)
{
float res;
__asm__ ("fabs;" : "=t" (res) : "0" (x));
return res;
}
extern __inline__ long double fabsl (long double x)
extern __inline__ long double __cdecl fabsl (long double x)
{
long double res;
__asm__ ("fabs;" : "=t" (res) : "0" (x));
@ -504,74 +506,74 @@ extern __inline__ long double fabsl (long double x)
}
/* 7.12.7.3 */
extern double hypot (double, double); /* in libmoldname.a */
extern __inline__ float hypotf (float x, float y)
extern double __cdecl hypot (double, double); /* in libmoldname.a */
extern __inline__ float __cdecl hypotf (float x, float y)
{ return (float) hypot (x, y);}
extern long double hypotl (long double, long double);
extern long double __cdecl hypotl (long double, long double);
/* 7.12.7.4 The pow functions. Double in C89 */
extern __inline__ float powf (float x, float y)
extern __inline__ float __cdecl powf (float x, float y)
{return (float) pow (x, y);}
extern long double powl (long double, long double);
extern long double __cdecl powl (long double, long double);
/* 7.12.7.5 The sqrt functions. Double in C89. */
extern float sqrtf (float);
extern long double sqrtl (long double);
extern float __cdecl sqrtf (float);
extern long double __cdecl sqrtl (long double);
/* 7.12.8.1 The erf functions */
extern double erf (double);
extern float erff (float);
extern double __cdecl erf (double);
extern float __cdecl erff (float);
/* TODO
extern long double erfl (long double);
extern long double __cdecl erfl (long double);
*/
/* 7.12.8.2 The erfc functions */
extern double erfc (double);
extern float erfcf (float);
extern double __cdecl erfc (double);
extern float __cdecl erfcf (float);
/* TODO
extern long double erfcl (long double);
extern long double __cdecl erfcl (long double);
*/
/* 7.12.8.3 The lgamma functions */
extern double lgamma (double);
extern float lgammaf (float);
extern long double lgammal (long double);
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 tgamma (double);
extern float tgammaf (float);
extern long double tgammal (long double);
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 ceilf (float);
extern long double ceill (long double);
extern float __cdecl ceilf (float);
extern long double __cdecl ceill (long double);
/* 7.12.9.2 Double in C89 */
extern float floorf (float);
extern long double floorl (long double);
extern float __cdecl floorf (float);
extern long double __cdecl floorl (long double);
/* 7.12.9.3 */
extern double nearbyint ( double);
extern float nearbyintf (float);
extern long double nearbyintl (long double);
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 __inline__ double rint (double x)
extern __inline__ double __cdecl rint (double x)
{
double retval;
__asm__ ("frndint;": "=t" (retval) : "0" (x));
return retval;
}
extern __inline__ float rintf (float x)
extern __inline__ float __cdecl rintf (float x)
{
float retval;
__asm__ ("frndint;" : "=t" (retval) : "0" (x) );
return retval;
}
extern __inline__ long double rintl (long double x)
extern __inline__ long double __cdecl rintl (long double x)
{
long double retval;
__asm__ ("frndint;" : "=t" (retval) : "0" (x) );
@ -579,7 +581,7 @@ extern __inline__ long double rintl (long double x)
}
/* 7.12.9.5 */
extern __inline__ long lrint (double x)
extern __inline__ long __cdecl lrint (double x)
{
long retval;
__asm__ __volatile__ \
@ -587,7 +589,7 @@ extern __inline__ long lrint (double x)
return retval;
}
extern __inline__ long lrintf (float x)
extern __inline__ long __cdecl lrintf (float x)
{
long retval;
__asm__ __volatile__ \
@ -595,7 +597,7 @@ extern __inline__ long lrintf (float x)
return retval;
}
extern __inline__ long lrintl (long double x)
extern __inline__ long __cdecl lrintl (long double x)
{
long retval;
__asm__ __volatile__ \
@ -603,7 +605,7 @@ extern __inline__ long lrintl (long double x)
return retval;
}
extern __inline__ long long llrint (double x)
extern __inline__ long long __cdecl llrint (double x)
{
long long retval;
__asm__ __volatile__ \
@ -611,7 +613,7 @@ extern __inline__ long long llrint (double x)
return retval;
}
extern __inline__ long long llrintf (float x)
extern __inline__ long long __cdecl llrintf (float x)
{
long long retval;
__asm__ __volatile__ \
@ -619,7 +621,7 @@ extern __inline__ long long llrintf (float x)
return retval;
}
extern __inline__ long long llrintl (long double x)
extern __inline__ long long __cdecl llrintl (long double x)
{
long long retval;
__asm__ __volatile__ \
@ -629,48 +631,48 @@ extern __inline__ long long llrintl (long double x)
/* 7.12.9.6 */
/* round away from zero, regardless of fpu control word settings */
extern double round (double);
extern float roundf (float);
extern long double roundl (long double);
extern double __cdecl round (double);
extern float __cdecl roundf (float);
extern long double __cdecl roundl (long double);
/* 7.12.9.7 */
extern long lround (double);
extern long lroundf (float);
extern long lroundl (long double);
extern long __cdecl lround (double);
extern long __cdecl lroundf (float);
extern long __cdecl lroundl (long double);
extern long long llround (double);
extern long long llroundf (float);
extern long long llroundl (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 trunc (double);
extern float truncf (float);
extern long double truncl (long double);
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 fmodf (float, float);
extern long double fmodl (long double, long double);
extern float __cdecl fmodf (float, float);
extern long double __cdecl fmodl (long double, long double);
/* 7.12.10.2 */
extern double remainder (double, double);
extern float remainderf (float, float);
extern long double remainderl (long double, long double);
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 remquo(double, double, int *);
extern float remquof(float, float, int *);
extern long double remquol(long double, long double, int *);
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 copysign (double, double); /* in libmoldname.a */
extern float copysignf (float, float);
extern long double copysignl (long double, long double);
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 nan(const char *tagp);
extern float nanf(const char *tagp);
extern long double nanl(const char *tagp);
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("")
@ -679,18 +681,18 @@ extern long double nanl(const char *tagp);
#endif
/* 7.12.11.3 */
extern double nextafter (double, double); /* in libmoldname.a */
extern float nextafterf (float, float);
extern double __cdecl nextafter (double, double); /* in libmoldname.a */
extern float __cdecl nextafterf (float, float);
/* TODO: Not yet implemented */
/* extern long double nextafterl (long double, long double); */
/* extern long double __cdecl nextafterl (long double, long double); */
/* 7.12.11.4 The nexttoward functions: TODO */
/* 7.12.12.1 */
/* x > y ? (x - y) : 0.0 */
extern double fdim (double x, double y);
extern float fdimf (float x, float y);
extern long double fdiml (long double x, long double y);
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
@ -698,20 +700,20 @@ extern long double fdiml (long double x, long double y);
value. */
/* 7.12.12.2 */
extern double fmax (double, double);
extern float fmaxf (float, float);
extern long double fmaxl (long double, long double);
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 fmin (double, double);
extern float fminf (float, float);
extern long double fminl (long double, long double);
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 fma (double, double, double);
extern float fmaf (float, float, float);
extern long double fmal (long double, long double, long double);
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 */
@ -734,7 +736,7 @@ extern long double fmal (long double, long double, long double);
#else
/* helper */
extern __inline__ int
extern __inline__ int __cdecl
__fp_unordered_compare (long double x, long double y){
unsigned short retval;
__asm__ ("fucom %%st(1);"

View File

@ -54,29 +54,29 @@ extern "C" {
#ifndef __STRICT_ANSI__
int _setmbcp (int);
int _getmbcp (void);
_CRTIMP int __cdecl _setmbcp (int);
_CRTIMP int __cdecl _getmbcp (void);
/* byte classification */
/* NB: Corresponding _ismbc* functions are in mbstring.h */
int _ismbbalpha (unsigned int);
int _ismbbalnum (unsigned int);
int _ismbbgraph (unsigned int);
int _ismbbprint (unsigned int);
int _ismbbpunct (unsigned int);
_CRTIMP int __cdecl _ismbbalpha (unsigned int);
_CRTIMP int __cdecl _ismbbalnum (unsigned int);
_CRTIMP int __cdecl _ismbbgraph (unsigned int);
_CRTIMP int __cdecl _ismbbprint (unsigned int);
_CRTIMP int __cdecl _ismbbpunct (unsigned int);
int _ismbbkana (unsigned int);
int _ismbbkalnum (unsigned int);
int _ismbbkprint (unsigned int);
int _ismbbkpunct (unsigned int);
_CRTIMP int __cdecl _ismbbkana (unsigned int);
_CRTIMP int __cdecl _ismbbkalnum (unsigned int);
_CRTIMP int __cdecl _ismbbkprint (unsigned int);
_CRTIMP int __cdecl _ismbbkpunct (unsigned int);
/* these are also in mbstring.h */
int _ismbblead (unsigned int);
int _ismbbtrail (unsigned int);
int _ismbslead (const unsigned char*, const unsigned char*);
int _ismbstrail (const unsigned char*, const unsigned char*);
_CRTIMP int __cdecl _ismbblead (unsigned int);
_CRTIMP int __cdecl _ismbbtrail (unsigned int);
_CRTIMP int __cdecl _ismbslead (const unsigned char*, const unsigned char*);
_CRTIMP int __cdecl _ismbstrail (const unsigned char*, const unsigned char*);
#ifdef __DECLSPEC_SUPPORTED
__MINGW_IMPORT unsigned char _mbctype[];

View File

@ -36,89 +36,89 @@ extern "C" {
#ifndef __STRICT_ANSI__
/* character classification */
int _ismbcalnum (unsigned int);
int _ismbcalpha (unsigned int);
int _ismbcdigit (unsigned int);
int _ismbcgraph (unsigned int);
int _ismbcprint (unsigned int);
int _ismbcpunct (unsigned int);
int _ismbcspace (unsigned int);
int _ismbclower (unsigned int);
int _ismbcupper (unsigned int);
int _ismbclegal (unsigned int);
int _ismbcsymbol (unsigned int);
_CRTIMP int __cdecl _ismbcalnum (unsigned int);
_CRTIMP int __cdecl _ismbcalpha (unsigned int);
_CRTIMP int __cdecl _ismbcdigit (unsigned int);
_CRTIMP int __cdecl _ismbcgraph (unsigned int);
_CRTIMP int __cdecl _ismbcprint (unsigned int);
_CRTIMP int __cdecl _ismbcpunct (unsigned int);
_CRTIMP int __cdecl _ismbcspace (unsigned int);
_CRTIMP int __cdecl _ismbclower (unsigned int);
_CRTIMP int __cdecl _ismbcupper (unsigned int);
_CRTIMP int __cdecl _ismbclegal (unsigned int);
_CRTIMP int __cdecl _ismbcsymbol (unsigned int);
/* also in mbctype.h */
int _ismbblead (unsigned int );
int _ismbbtrail (unsigned int );
int _ismbslead ( const unsigned char*, const unsigned char*);
int _ismbstrail ( const unsigned char*, const unsigned char*);
_CRTIMP int __cdecl _ismbblead (unsigned int );
_CRTIMP int __cdecl _ismbbtrail (unsigned int );
_CRTIMP int __cdecl _ismbslead ( const unsigned char*, const unsigned char*);
_CRTIMP int __cdecl _ismbstrail ( const unsigned char*, const unsigned char*);
unsigned int _mbctolower (unsigned int);
unsigned int _mbctoupper (unsigned int);
_CRTIMP unsigned int __cdecl _mbctolower (unsigned int);
_CRTIMP unsigned int __cdecl _mbctoupper (unsigned int);
void _mbccpy (unsigned char*, const unsigned char*);
size_t _mbclen (const unsigned char*);
_CRTIMP void __cdecl _mbccpy (unsigned char*, const unsigned char*);
_CRTIMP size_t __cdecl _mbclen (const unsigned char*);
unsigned int _mbbtombc (unsigned int);
unsigned int _mbctombb (unsigned int);
_CRTIMP unsigned int __cdecl _mbbtombc (unsigned int);
_CRTIMP unsigned int __cdecl _mbctombb (unsigned int);
/* Return value constants for these are defined in mbctype.h. */
int _mbbtype (unsigned char, int);
int _mbsbtype (const unsigned char*, size_t);
_CRTIMP int __cdecl _mbbtype (unsigned char, int);
_CRTIMP int __cdecl _mbsbtype (const unsigned char*, size_t);
unsigned char* _mbscpy (unsigned char*, const unsigned char*);
unsigned char* _mbsncpy (unsigned char*, const unsigned char*, size_t);
unsigned char* _mbsnbcpy (unsigned char*, const unsigned char*, size_t);
unsigned char* _mbsset (unsigned char*, unsigned int);
unsigned char* _mbsnset (unsigned char*, unsigned int, size_t);
unsigned char* _mbsnbset (unsigned char*, unsigned int, size_t);
unsigned char* _mbsdup (const unsigned char*);
unsigned char* _mbsrev (unsigned char*);
unsigned char* _mbscat (unsigned char*, const unsigned char*);
unsigned char* _mbsncat (unsigned char*, const unsigned char*, size_t);
unsigned char* _mbsnbcat (unsigned char*, const unsigned char*, size_t);
size_t _mbslen (const unsigned char*);
size_t _mbsnbcnt (const unsigned char*, size_t);
size_t _mbsnccnt (const unsigned char*, size_t);
unsigned char* _mbschr (const unsigned char*, unsigned int);
unsigned char* _mbsrchr (const unsigned char*, unsigned int);
size_t _mbsspn (const unsigned char*, const unsigned char*);
size_t _mbscspn (const unsigned char*, const unsigned char*);
unsigned char* _mbsspnp (const unsigned char*, const unsigned char*);
unsigned char* _mbspbrk (const unsigned char*, const unsigned char*);
int _mbscmp (const unsigned char*, const unsigned char*);
int _mbsicmp (const unsigned char*, const unsigned char*);
int _mbsncmp (const unsigned char*, const unsigned char*, size_t);
int _mbsnicmp (const unsigned char*, const unsigned char*, size_t);
int _mbsnbcmp (const unsigned char*, const unsigned char*, size_t);
int _mbsnbicmp (const unsigned char*, const unsigned char*, size_t);
int _mbscoll (const unsigned char*, const unsigned char*);
int _mbsicoll (const unsigned char*, const unsigned char*);
int _mbsncoll (const unsigned char*, const unsigned char*, size_t);
int _mbsnicoll (const unsigned char*, const unsigned char*, size_t);
int _mbsnbcoll (const unsigned char*, const unsigned char*, size_t);
int _mbsnbicoll (const unsigned char*, const unsigned char*, size_t);
_CRTIMP unsigned char* __cdecl _mbscpy (unsigned char*, const unsigned char*);
_CRTIMP unsigned char* __cdecl _mbsncpy (unsigned char*, const unsigned char*, size_t);
_CRTIMP unsigned char* __cdecl _mbsnbcpy (unsigned char*, const unsigned char*, size_t);
_CRTIMP unsigned char* __cdecl _mbsset (unsigned char*, unsigned int);
_CRTIMP unsigned char* __cdecl _mbsnset (unsigned char*, unsigned int, size_t);
_CRTIMP unsigned char* __cdecl _mbsnbset (unsigned char*, unsigned int, size_t);
_CRTIMP unsigned char* __cdecl _mbsdup (const unsigned char*);
_CRTIMP unsigned char* __cdecl _mbsrev (unsigned char*);
_CRTIMP unsigned char* __cdecl _mbscat (unsigned char*, const unsigned char*);
_CRTIMP unsigned char* __cdecl _mbsncat (unsigned char*, const unsigned char*, size_t);
_CRTIMP unsigned char* __cdecl _mbsnbcat (unsigned char*, const unsigned char*, size_t);
_CRTIMP size_t __cdecl _mbslen (const unsigned char*);
_CRTIMP size_t __cdecl _mbsnbcnt (const unsigned char*, size_t);
_CRTIMP size_t __cdecl _mbsnccnt (const unsigned char*, size_t);
_CRTIMP unsigned char* __cdecl _mbschr (const unsigned char*, unsigned int);
_CRTIMP unsigned char* __cdecl _mbsrchr (const unsigned char*, unsigned int);
_CRTIMP size_t __cdecl _mbsspn (const unsigned char*, const unsigned char*);
_CRTIMP size_t __cdecl _mbscspn (const unsigned char*, const unsigned char*);
_CRTIMP unsigned char* __cdecl _mbsspnp (const unsigned char*, const unsigned char*);
_CRTIMP unsigned char* __cdecl _mbspbrk (const unsigned char*, const unsigned char*);
_CRTIMP int __cdecl _mbscmp (const unsigned char*, const unsigned char*);
_CRTIMP int __cdecl _mbsicmp (const unsigned char*, const unsigned char*);
_CRTIMP int __cdecl _mbsncmp (const unsigned char*, const unsigned char*, size_t);
_CRTIMP int __cdecl _mbsnicmp (const unsigned char*, const unsigned char*, size_t);
_CRTIMP int __cdecl _mbsnbcmp (const unsigned char*, const unsigned char*, size_t);
_CRTIMP int __cdecl _mbsnbicmp (const unsigned char*, const unsigned char*, size_t);
_CRTIMP int __cdecl _mbscoll (const unsigned char*, const unsigned char*);
_CRTIMP int __cdecl _mbsicoll (const unsigned char*, const unsigned char*);
_CRTIMP int __cdecl _mbsncoll (const unsigned char*, const unsigned char*, size_t);
_CRTIMP int __cdecl _mbsnicoll (const unsigned char*, const unsigned char*, size_t);
_CRTIMP int __cdecl _mbsnbcoll (const unsigned char*, const unsigned char*, size_t);
_CRTIMP int __cdecl _mbsnbicoll (const unsigned char*, const unsigned char*, size_t);
unsigned char* _mbsinc (const unsigned char*);
unsigned char* _mbsninc (const unsigned char*, size_t);
unsigned char* _mbsdec (const unsigned char*, const unsigned char*);
unsigned int _mbsnextc (const unsigned char*);
unsigned char* _mbslwr (unsigned char*);
unsigned char* _mbsupr (unsigned char*);
unsigned char* _mbstok (unsigned char*, const unsigned char*);
_CRTIMP unsigned char* __cdecl _mbsinc (const unsigned char*);
_CRTIMP unsigned char* __cdecl _mbsninc (const unsigned char*, size_t);
_CRTIMP unsigned char* __cdecl _mbsdec (const unsigned char*, const unsigned char*);
_CRTIMP unsigned int __cdecl _mbsnextc (const unsigned char*);
_CRTIMP unsigned char* __cdecl _mbslwr (unsigned char*);
_CRTIMP unsigned char* __cdecl _mbsupr (unsigned char*);
_CRTIMP unsigned char* __cdecl _mbstok (unsigned char*, const unsigned char*);
/* Kanji */
int _ismbchira (unsigned int);
int _ismbckata (unsigned int);
int _ismbcl0 (unsigned int);
int _ismbcl1 (unsigned int);
int _ismbcl2 (unsigned int);
unsigned int _mbcjistojms (unsigned int);
unsigned int _mbcjmstojis (unsigned int);
unsigned int _mbctohira (unsigned int);
unsigned int _mbctokata (unsigned int);
_CRTIMP int __cdecl _ismbchira (unsigned int);
_CRTIMP int __cdecl _ismbckata (unsigned int);
_CRTIMP int __cdecl _ismbcl0 (unsigned int);
_CRTIMP int __cdecl _ismbcl1 (unsigned int);
_CRTIMP int __cdecl _ismbcl2 (unsigned int);
_CRTIMP unsigned int __cdecl _mbcjistojms (unsigned int);
_CRTIMP unsigned int __cdecl _mbcjmstojis (unsigned int);
_CRTIMP unsigned int __cdecl _mbctohira (unsigned int);
_CRTIMP unsigned int __cdecl _mbctokata (unsigned int);
#endif /* Not strict ANSI */

View File

@ -73,30 +73,30 @@
extern "C" {
#endif
void _cexit(void);
void _c_exit(void);
_CRTIMP void __cdecl _cexit(void);
_CRTIMP void __cdecl _c_exit(void);
int _cwait (int*, _pid_t, int);
_CRTIMP int __cdecl _cwait (int*, _pid_t, int);
_pid_t _getpid(void);
_CRTIMP _pid_t __cdecl _getpid(void);
int _execl (const char*, const char*, ...);
int _execle (const char*, const char*, ...);
int _execlp (const char*, const char*, ...);
int _execlpe (const char*, const char*, ...);
int _execv (const char*, char* const*);
int _execve (const char*, char* const*, char* const*);
int _execvp (const char*, char* const*);
int _execvpe (const char*, char* const*, char* const*);
_CRTIMP int __cdecl _execl (const char*, const char*, ...);
_CRTIMP int __cdecl _execle (const char*, const char*, ...);
_CRTIMP int __cdecl _execlp (const char*, const char*, ...);
_CRTIMP int __cdecl _execlpe (const char*, const char*, ...);
_CRTIMP int __cdecl _execv (const char*, char* const*);
_CRTIMP int __cdecl _execve (const char*, char* const*, char* const*);
_CRTIMP int __cdecl _execvp (const char*, char* const*);
_CRTIMP int __cdecl _execvpe (const char*, char* const*, char* const*);
int _spawnl (int, const char*, const char*, ...);
int _spawnle (int, const char*, const char*, ...);
int _spawnlp (int, const char*, const char*, ...);
int _spawnlpe (int, const char*, const char*, ...);
int _spawnv (int, const char*, char* const*);
int _spawnve (int, const char*, char* const*, char* const*);
int _spawnvp (int, const char*, char* const*);
int _spawnvpe (int, const char*, char* const*, char* const*);
_CRTIMP int __cdecl _spawnl (int, const char*, const char*, ...);
_CRTIMP int __cdecl _spawnle (int, const char*, const char*, ...);
_CRTIMP int __cdecl _spawnlp (int, const char*, const char*, ...);
_CRTIMP int __cdecl _spawnlpe (int, const char*, const char*, ...);
_CRTIMP int __cdecl _spawnv (int, const char*, char* const*);
_CRTIMP int __cdecl _spawnve (int, const char*, char* const*, char* const*);
_CRTIMP int __cdecl _spawnvp (int, const char*, char* const*);
_CRTIMP int __cdecl _spawnvpe (int, const char*, char* const*, char* const*);
/*
* The functions _beginthreadex and _endthreadex are not provided by CRTDLL.
@ -109,15 +109,15 @@ int _spawnvpe (int, const char*, char* const*, char* const*);
*
* NOTE: No old names for these functions. Use the underscore.
*/
unsigned long
_CRTIMP unsigned long __cdecl
_beginthread (void (*)(void *), unsigned, void*);
void _endthread (void);
_CRTIMP void __cdecl _endthread (void);
#ifdef __MSVCRT__
unsigned long
_CRTIMP unsigned long __cdecl
_beginthreadex (void *, unsigned, unsigned (__stdcall *) (void *),
void*, unsigned, unsigned*);
void _endthreadex (unsigned);
_CRTIMP void __cdecl _endthreadex (unsigned);
#endif
@ -126,24 +126,24 @@ void _endthreadex (unsigned);
* Functions without the leading underscore, for portability. These functions
* live in liboldnames.a.
*/
int cwait (int*, pid_t, int);
pid_t getpid (void);
int execl (const char*, const char*, ...);
int execle (const char*, const char*, ...);
int execlp (const char*, const char*, ...);
int execlpe (const char*, const char*, ...);
int execv (const char*, char* const*);
int execve (const char*, char* const*, char* const*);
int execvp (const char*, char* const*);
int execvpe (const char*, char* const*, char* const*);
int spawnl (int, const char*, const char*, ...);
int spawnle (int, const char*, const char*, ...);
int spawnlp (int, const char*, const char*, ...);
int spawnlpe (int, const char*, const char*, ...);
int spawnv (int, const char*, char* const*);
int spawnve (int, const char*, char* const*, char* const*);
int spawnvp (int, const char*, char* const*);
int spawnvpe (int, const char*, char* const*, char* const*);
_CRTIMP int __cdecl cwait (int*, pid_t, int);
_CRTIMP pid_t __cdecl getpid (void);
_CRTIMP int __cdecl execl (const char*, const char*, ...);
_CRTIMP int __cdecl execle (const char*, const char*, ...);
_CRTIMP int __cdecl execlp (const char*, const char*, ...);
_CRTIMP int __cdecl execlpe (const char*, const char*, ...);
_CRTIMP int __cdecl execv (const char*, char* const*);
_CRTIMP int __cdecl execve (const char*, char* const*, char* const*);
_CRTIMP int __cdecl execvp (const char*, char* const*);
_CRTIMP int __cdecl execvpe (const char*, char* const*, char* const*);
_CRTIMP int __cdecl spawnl (int, const char*, const char*, ...);
_CRTIMP int __cdecl spawnle (int, const char*, const char*, ...);
_CRTIMP int __cdecl spawnlp (int, const char*, const char*, ...);
_CRTIMP int __cdecl spawnlpe (int, const char*, const char*, ...);
_CRTIMP int __cdecl spawnv (int, const char*, char* const*);
_CRTIMP int __cdecl spawnve (int, const char*, char* const*, char* const*);
_CRTIMP int __cdecl spawnvp (int, const char*, char* const*);
_CRTIMP int __cdecl spawnvpe (int, const char*, char* const*, char* const*);
#endif /* Not _NO_OLDNAMES */
#ifdef __cplusplus

View File

@ -52,7 +52,7 @@ typedef _JBTYPE jmp_buf[_JBLEN];
* The function provided by CRTDLL which appears to do the actual work
* of setjmp.
*/
int _setjmp (jmp_buf);
_CRTIMP int __cdecl _setjmp (jmp_buf);
#define setjmp(x) _setjmp(x)
@ -60,7 +60,7 @@ int _setjmp (jmp_buf);
* Return to the last setjmp call and act as if setjmp had returned
* nVal (which had better be non-zero!).
*/
void longjmp (jmp_buf, int);
_CRTIMP void __cdecl longjmp (jmp_buf, int);
#ifdef __cplusplus
}

View File

@ -94,12 +94,12 @@ extern "C" {
* previous handler, or SIG_ERR if an error occurs. Initially
* unhandled signals defined above will return SIG_DFL.
*/
__p_sig_fn_t signal(int, __p_sig_fn_t);
_CRTIMP __p_sig_fn_t __cdecl signal(int, __p_sig_fn_t);
/*
* Raise the signal indicated by sig. Returns non-zero on success.
*/
int raise (int);
_CRTIMP int __cdecl raise (int);
#ifdef __cplusplus
}

View File

@ -131,11 +131,13 @@
#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.
@ -186,41 +188,41 @@ extern "C" {
/*
* File Operations
*/
FILE* fopen (const char*, const char*);
FILE* freopen (const char*, const char*, FILE*);
int fflush (FILE*);
int fclose (FILE*);
_CRTIMP FILE* __cdecl fopen (const char*, const char*);
_CRTIMP FILE* __cdecl freopen (const char*, const char*, FILE*);
_CRTIMP int __cdecl fflush (FILE*);
_CRTIMP int __cdecl fclose (FILE*);
/* MS puts remove & rename (but not wide versions) in io.h also */
int remove (const char*);
int rename (const char*, const char*);
FILE* tmpfile (void);
char* tmpnam (char*);
char* _tempnam (const char*, const char*);
_CRTIMP int __cdecl remove (const char*);
_CRTIMP int __cdecl rename (const char*, const char*);
_CRTIMP FILE* __cdecl tmpfile (void);
_CRTIMP char* __cdecl tmpnam (char*);
_CRTIMP char* __cdecl _tempnam (const char*, const char*);
#ifndef NO_OLDNAMES
char* tempnam (const char*, const char*);
_CRTIMP char* __cdecl tempnam (const char*, const char*);
#endif
int setvbuf (FILE*, char*, int, size_t);
_CRTIMP int __cdecl setvbuf (FILE*, char*, int, size_t);
void setbuf (FILE*, char*);
_CRTIMP void __cdecl setbuf (FILE*, char*);
/*
* Formatted Output
*/
int fprintf (FILE*, const char*, ...);
int printf (const char*, ...);
int sprintf (char*, const char*, ...);
int _snprintf (char*, size_t, const char*, ...);
int vfprintf (FILE*, const char*, __VALIST);
int vprintf (const char*, __VALIST);
int vsprintf (char*, const char*, __VALIST);
int _vsnprintf (char*, size_t, const char*, __VALIST);
_CRTIMP int __cdecl fprintf (FILE*, const char*, ...);
_CRTIMP int __cdecl printf (const char*, ...);
_CRTIMP int __cdecl sprintf (char*, const char*, ...);
_CRTIMP int __cdecl _snprintf (char*, size_t, const char*, ...);
_CRTIMP int __cdecl vfprintf (FILE*, const char*, __VALIST);
_CRTIMP int __cdecl vprintf (const char*, __VALIST);
_CRTIMP int __cdecl vsprintf (char*, const char*, __VALIST);
_CRTIMP int __cdecl _vsnprintf (char*, size_t, const char*, __VALIST);
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
int snprintf(char* s, size_t n, const char* format, ...);
extern __inline__ int vsnprintf (char* s, size_t n, const char* format,
int __cdecl snprintf(char* s, size_t n, const char* format, ...);
extern __inline__ int __cdecl vsnprintf (char* s, size_t n, const char* format,
__VALIST arg)
{ return _vsnprintf ( s, n, format, arg); }
#endif
@ -229,39 +231,39 @@ extern __inline__ int vsnprintf (char* s, size_t n, const char* format,
* Formatted Input
*/
int fscanf (FILE*, const char*, ...);
int scanf (const char*, ...);
int sscanf (const char*, const char*, ...);
_CRTIMP int __cdecl fscanf (FILE*, const char*, ...);
_CRTIMP int __cdecl scanf (const char*, ...);
_CRTIMP int __cdecl sscanf (const char*, const char*, ...);
/*
* Character Input and Output Functions
*/
int fgetc (FILE*);
char* fgets (char*, int, FILE*);
int fputc (int, FILE*);
int fputs (const char*, FILE*);
int getc (FILE*);
int getchar (void);
char* gets (char*);
int putc (int, FILE*);
int putchar (int);
int puts (const char*);
int ungetc (int, FILE*);
_CRTIMP int __cdecl fgetc (FILE*);
_CRTIMP char* __cdecl fgets (char*, int, FILE*);
_CRTIMP int __cdecl fputc (int, FILE*);
_CRTIMP int __cdecl fputs (const char*, FILE*);
_CRTIMP int __cdecl getc (FILE*);
_CRTIMP int __cdecl getchar (void);
_CRTIMP char* __cdecl gets (char*);
_CRTIMP int __cdecl putc (int, FILE*);
_CRTIMP int __cdecl putchar (int);
_CRTIMP int __cdecl puts (const char*);
_CRTIMP int __cdecl ungetc (int, FILE*);
/*
* Direct Input and Output Functions
*/
size_t fread (void*, size_t, size_t, FILE*);
size_t fwrite (const void*, size_t, size_t, FILE*);
_CRTIMP size_t __cdecl fread (void*, size_t, size_t, FILE*);
_CRTIMP size_t __cdecl fwrite (const void*, size_t, size_t, FILE*);
/*
* File Positioning Functions
*/
int fseek (FILE*, long, int);
long ftell (FILE*);
void rewind (FILE*);
_CRTIMP int __cdecl fseek (FILE*, long, int);
_CRTIMP long __cdecl ftell (FILE*);
_CRTIMP void __cdecl rewind (FILE*);
#ifdef __USE_MINGW_FSEEK /* These are in libmingwex.a */
/*
@ -269,8 +271,8 @@ void rewind (FILE*);
* not zero'd out if you seek past the end and then write.
*/
int __mingw_fseek (FILE *, long, int);
int __mingw_fwrite (const void*, size_t, size_t, FILE*);
int __cdecl __mingw_fseek (FILE *, long, int);
int __cdecl __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 */
@ -290,50 +292,50 @@ typedef long long fpos_t;
typedef long fpos_t;
#endif
int fgetpos (FILE*, fpos_t*);
int fsetpos (FILE*, const fpos_t*);
_CRTIMP int __cdecl fgetpos (FILE*, fpos_t*);
_CRTIMP int __cdecl fsetpos (FILE*, const fpos_t*);
/*
* Error Functions
*/
void clearerr (FILE*);
int feof (FILE*);
int ferror (FILE*);
void perror (const char*);
_CRTIMP void __cdecl clearerr (FILE*);
_CRTIMP int __cdecl feof (FILE*);
_CRTIMP int __cdecl ferror (FILE*);
_CRTIMP void __cdecl perror (const char*);
#ifndef __STRICT_ANSI__
/*
* Pipes
*/
FILE* _popen (const char*, const char*);
int _pclose (FILE*);
_CRTIMP FILE* __cdecl _popen (const char*, const char*);
_CRTIMP int __cdecl _pclose (FILE*);
#ifndef NO_OLDNAMES
FILE* popen (const char*, const char*);
int pclose (FILE*);
_CRTIMP FILE* __cdecl popen (const char*, const char*);
_CRTIMP int __cdecl pclose (FILE*);
#endif
/*
* Other Non ANSI functions
*/
int _flushall (void);
int _fgetchar (void);
int _fputchar (int);
FILE* _fdopen (int, const char*);
int _fileno (FILE*);
int _fcloseall(void);
_CRTIMP int __cdecl _flushall (void);
_CRTIMP int __cdecl _fgetchar (void);
_CRTIMP int __cdecl _fputchar (int);
_CRTIMP FILE* __cdecl _fdopen (int, const char*);
_CRTIMP int __cdecl _fileno (FILE*);
_CRTIMP int __cdecl _fcloseall(void);
#ifdef __MSVCRT__
int _getmaxstdio(void);
int _setmaxstdio(int);
_CRTIMP int __cdecl _getmaxstdio(void);
_CRTIMP int __cdecl _setmaxstdio(int);
#endif
#ifndef _NO_OLDNAMES
int fgetchar (void);
int fputchar (int);
FILE* fdopen (int, const char*);
int fileno (FILE*);
_CRTIMP int __cdecl fgetchar (void);
_CRTIMP int __cdecl fputchar (int);
_CRTIMP FILE* __cdecl fdopen (int, const char*);
_CRTIMP int __cdecl fileno (FILE*);
#endif /* Not _NO_OLDNAMES */
#endif /* Not __STRICT_ANSI__ */
@ -342,44 +344,44 @@ int fileno (FILE*);
#ifndef _WSTDIO_DEFINED
/* also in wchar.h - keep in sync */
int fwprintf (FILE*, const wchar_t*, ...);
int wprintf (const wchar_t*, ...);
int swprintf (wchar_t*, const wchar_t*, ...);
int _snwprintf (wchar_t*, size_t, const wchar_t*, ...);
int vfwprintf (FILE*, const wchar_t*, __VALIST);
int vwprintf (const wchar_t*, __VALIST);
int vswprintf (wchar_t*, const wchar_t*, __VALIST);
int _vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST);
int fwscanf (FILE*, const wchar_t*, ...);
int wscanf (const wchar_t*, ...);
int swscanf (const wchar_t*, const wchar_t*, ...);
wint_t fgetwc (FILE*);
wint_t fputwc (wchar_t, FILE*);
wint_t ungetwc (wchar_t, FILE*);
_CRTIMP int __cdecl fwprintf (FILE*, const wchar_t*, ...);
_CRTIMP int __cdecl wprintf (const wchar_t*, ...);
_CRTIMP int __cdecl swprintf (wchar_t*, const wchar_t*, ...);
_CRTIMP int __cdecl _snwprintf (wchar_t*, size_t, const wchar_t*, ...);
_CRTIMP int __cdecl vfwprintf (FILE*, const wchar_t*, __VALIST);
_CRTIMP int __cdecl vwprintf (const wchar_t*, __VALIST);
_CRTIMP int __cdecl vswprintf (wchar_t*, const wchar_t*, __VALIST);
_CRTIMP int __cdecl _vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST);
_CRTIMP int __cdecl fwscanf (FILE*, const wchar_t*, ...);
_CRTIMP int __cdecl wscanf (const wchar_t*, ...);
_CRTIMP int __cdecl swscanf (const wchar_t*, const wchar_t*, ...);
_CRTIMP wint_t __cdecl fgetwc (FILE*);
_CRTIMP wint_t __cdecl fputwc (wchar_t, FILE*);
_CRTIMP wint_t __cdecl ungetwc (wchar_t, FILE*);
#ifdef __MSVCRT__
wchar_t* fgetws (wchar_t*, int, FILE*);
int fputws (const wchar_t*, FILE*);
wint_t getwc (FILE*);
wint_t getwchar (void);
wchar_t* _getws (wchar_t*);
wint_t putwc (wint_t, FILE*);
int _putws (const wchar_t*);
wint_t putwchar (wint_t);
FILE* _wfdopen(int, wchar_t *);
FILE* _wfopen (const wchar_t*, const wchar_t*);
FILE* _wfreopen (const wchar_t*, const wchar_t*, FILE*);
FILE* _wfsopen (const wchar_t*, const wchar_t*, int);
wchar_t* _wtmpnam (wchar_t*);
wchar_t* _wtempnam (const wchar_t*, const wchar_t*);
int _wrename (const wchar_t*, const wchar_t*);
int _wremove (const wchar_t*);
void _wperror (const wchar_t*);
FILE* _wpopen (const wchar_t*, const wchar_t*);
_CRTIMP wchar_t* __cdecl fgetws (wchar_t*, int, FILE*);
_CRTIMP int __cdecl fputws (const wchar_t*, FILE*);
_CRTIMP wint_t __cdecl getwc (FILE*);
_CRTIMP wint_t __cdecl getwchar (void);
_CRTIMP wchar_t* __cdecl _getws (wchar_t*);
_CRTIMP wint_t __cdecl putwc (wint_t, FILE*);
_CRTIMP int __cdecl _putws (const wchar_t*);
_CRTIMP wint_t __cdecl putwchar (wint_t);
_CRTIMP FILE* __cdecl _wfdopen(int, wchar_t *);
_CRTIMP FILE* __cdecl _wfopen (const wchar_t*, const wchar_t*);
_CRTIMP FILE* __cdecl _wfreopen (const wchar_t*, const wchar_t*, FILE*);
_CRTIMP FILE* __cdecl _wfsopen (const wchar_t*, const wchar_t*, int);
_CRTIMP wchar_t* __cdecl _wtmpnam (wchar_t*);
_CRTIMP wchar_t* __cdecl _wtempnam (const wchar_t*, const wchar_t*);
_CRTIMP int __cdecl _wrename (const wchar_t*, const wchar_t*);
_CRTIMP int __cdecl _wremove (const wchar_t*);
_CRTIMP void __cdecl _wperror (const wchar_t*);
_CRTIMP FILE* __cdecl _wpopen (const wchar_t*, const wchar_t*);
#endif /* __MSVCRT__ */
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
int snwprintf(wchar_t* s, size_t n, const wchar_t* format, ...);
extern __inline__ int
int __cdecl snwprintf(wchar_t* s, size_t n, const wchar_t* format, ...);
extern __inline__ int __cdecl
vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg)
{ return _vsnwprintf ( s, n, format, arg);}
#endif
@ -390,23 +392,23 @@ vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg)
#ifndef __STRICT_ANSI__
#ifdef __MSVCRT__
#ifndef NO_OLDNAMES
FILE* wpopen (const wchar_t*, const wchar_t*);
_CRTIMP FILE* __cdecl wpopen (const wchar_t*, const wchar_t*);
#endif /* not NO_OLDNAMES */
#endif /* MSVCRT runtime */
/*
* Other Non ANSI wide functions
*/
wint_t _fgetwchar (void);
wint_t _fputwchar (wint_t);
int _getw (FILE*);
int _putw (int, FILE*);
_CRTIMP wint_t __cdecl _fgetwchar (void);
_CRTIMP wint_t __cdecl _fputwchar (wint_t);
_CRTIMP int __cdecl _getw (FILE*);
_CRTIMP int __cdecl _putw (int, FILE*);
#ifndef _NO_OLDNAMES
wint_t fgetwchar (void);
wint_t fputwchar (wint_t);
int getw (FILE*);
int putw (int, FILE*);
_CRTIMP wint_t __cdecl fgetwchar (void);
_CRTIMP wint_t __cdecl fputwchar (wint_t);
_CRTIMP int __cdecl getw (FILE*);
_CRTIMP int __cdecl putw (int, FILE*);
#endif /* Not _NO_OLDNAMES */
#endif /* __STRICT_ANSI */

View File

@ -89,9 +89,9 @@ extern char** _argv;
/* imports from runtime dll of the above variables */
#ifdef __MSVCRT__
extern int* __p___argc(void);
extern char*** __p___argv(void);
extern wchar_t*** __p___wargv(void);
extern int* __cdecl __p___argc(void);
extern char*** __cdecl __p___argv(void);
extern wchar_t*** __cdecl __p___wargv(void);
#define __argc (*__p___argc())
#define __argv (*__p___argv())
@ -149,10 +149,10 @@ __MINGW_IMPORT char** __argv_dll;
#undef errno
extern int errno;
#else
int* _errno(void);
_CRTIMP int* __cdecl _errno(void);
#define errno (*_errno())
#endif
int* __doserrno(void);
_CRTIMP int* __cdecl __doserrno(void);
#define _doserrno (*__doserrno())
/*
@ -160,8 +160,8 @@ int* __doserrno(void);
*/
#ifdef __MSVCRT__
extern char *** __p__environ(void);
extern wchar_t *** __p__wenviron(void);
extern _CRTIMP char *** __cdecl __p__environ(void);
extern _CRTIMP wchar_t *** __cdecl __p__wenviron(void);
# define _environ (*__p__environ())
# define _wenviron (*__p__wenviron())
#else /* ! __MSVCRT__ */
@ -221,10 +221,10 @@ __MINGW_IMPORT char* _sys_errlist[];
#ifdef __MSVCRT__
/* msvcrtxx.dll */
extern unsigned int* __p__osver(void);
extern unsigned int* __p__winver(void);
extern unsigned int* __p__winmajor(void);
extern unsigned int* __p__winminor(void);
extern _CRTIMP unsigned __cdecl int* __p__osver(void);
extern _CRTIMP unsigned __cdecl int* __p__winver(void);
extern _CRTIMP unsigned __cdecl int* __p__winmajor(void);
extern _CRTIMP unsigned __cdecl int* __p__winminor(void);
#ifndef __DECLSPEC_SUPPORTED
# define _osver (*__p__osver())
@ -272,9 +272,9 @@ __MINGW_IMPORT unsigned int _winminor_dll;
#if defined __MSVCRT__
/* although the _pgmptr is exported as DATA,
* be safe and use the access function __p__pgmptr() to get it. */
char** __p__pgmptr(void);
_CRTIMP char** __cdecl __p__pgmptr(void);
#define _pgmptr (*__p__pgmptr())
wchar_t** __p__wpgmptr(void);
_CRTIMP wchar_t** __cdecl __p__wpgmptr(void);
#define _wpgmptr (*__p__wpgmptr())
#else /* ! __MSVCRT__ */
# ifndef __DECLSPEC_SUPPORTED
@ -321,65 +321,67 @@ __MINGW_IMPORT int _fmode_dll;
#define _ATTRIB_NORETURN
#endif /* __GNUC__ */
double atof (const char*);
int atoi (const char*);
long atol (const char*);
int _wtoi (const wchar_t *);
long _wtol (const wchar_t *);
_CRTIMP double __cdecl atof (const char*);
_CRTIMP int __cdecl atoi (const char*);
_CRTIMP long __cdecl atol (const char*);
_CRTIMP int __cdecl _wtoi (const wchar_t *);
_CRTIMP long __cdecl _wtol (const wchar_t *);
double strtod (const char*, char**);
#if !defined __NO_ISOCEXT /* extern stubs in static libmingwex.a */
extern __inline__ float strtof (const char *nptr, char **endptr)
_CRTIMP double __cdecl strtod (const char*, char**);
#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
extern __inline__ float __cdecl strtof (const char *nptr, char **endptr)
{ return (strtod (nptr, endptr));}
long double strtold (const char * __restrict__, char ** __restrict__);
long double __cdecl strtold (const char * __restrict__, char ** __restrict__);
#endif /* __NO_ISOCEXT */
long strtol (const char*, char**, int);
unsigned long strtoul (const char*, char**, int);
_CRTIMP long __cdecl strtol (const char*, char**, int);
_CRTIMP unsigned long __cdecl strtoul (const char*, char**, int);
#ifndef _WSTDLIB_DEFINED
/* also declared in wchar.h */
double wcstod (const wchar_t*, wchar_t**);
_CRTIMP double __cdecl wcstod (const wchar_t*, wchar_t**);
#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
extern __inline__ float wcstof( const wchar_t *nptr, wchar_t **endptr)
extern __inline__ float __cdecl wcstof( const wchar_t *nptr, wchar_t **endptr)
{ return (wcstod(nptr, endptr)); }
long double wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
#endif /* __NO_ISOCEXT */
long wcstol (const wchar_t*, wchar_t**, int);
unsigned long wcstoul (const wchar_t*, wchar_t**, int);
_CRTIMP long __cdecl wcstol (const wchar_t*, wchar_t**, int);
_CRTIMP unsigned long __cdecl wcstoul (const wchar_t*, wchar_t**, int);
#define _WSTDLIB_DEFINED
#endif
size_t wcstombs (char*, const wchar_t*, size_t);
int wctomb (char*, wchar_t);
_CRTIMP size_t __cdecl wcstombs (char*, const wchar_t*, size_t);
_CRTIMP int __cdecl wctomb (char*, wchar_t);
int mblen (const char*, size_t);
size_t mbstowcs (wchar_t*, const char*, size_t);
int mbtowc (wchar_t*, const char*, size_t);
_CRTIMP int __cdecl mblen (const char*, size_t);
_CRTIMP size_t __cdecl mbstowcs (wchar_t*, const char*, size_t);
_CRTIMP int __cdecl mbtowc (wchar_t*, const char*, size_t);
int rand (void);
void srand (unsigned int);
_CRTIMP int __cdecl rand (void);
_CRTIMP void __cdecl srand (unsigned int);
void* calloc (size_t, size_t);
void* malloc (size_t);
void* realloc (void*, size_t);
void free (void*);
_CRTIMP void* __cdecl calloc (size_t, size_t);
_CRTIMP void* __cdecl malloc (size_t);
_CRTIMP void* __cdecl realloc (void*, size_t);
_CRTIMP void __cdecl free (void*);
void abort (void) _ATTRIB_NORETURN;
void exit (int) _ATTRIB_NORETURN;
int atexit (void (*)(void));
_CRTIMP void __cdecl abort (void) _ATTRIB_NORETURN;
_CRTIMP void __cdecl exit (int) _ATTRIB_NORETURN;
int system (const char*);
char* getenv (const char*);
/* Note: This in startup code, not imported directly from dll */
int __cdecl atexit (void (*)(void));
void* bsearch (const void*, const void*, size_t, size_t,
int (*)(const void*, const void*));
void qsort (const void*, size_t, size_t,
int (*)(const void*, const void*));
_CRTIMP int __cdecl system (const char*);
_CRTIMP char* __cdecl getenv (const char*);
int abs (int);
long labs (long);
_CRTIMP void* __cdecl bsearch (const void*, const void*, size_t, size_t,
int (*)(const void*, const void*));
_CRTIMP void __cdecl qsort (const void*, size_t, size_t,
int (*)(const void*, const void*));
_CRTIMP int __cdecl abs (int);
_CRTIMP long __cdecl labs (long);
/*
* div_t and ldiv_t are structures used to return the results of div and
@ -392,8 +394,8 @@ long labs (long);
typedef struct { int quot, rem; } div_t;
typedef struct { long quot, rem; } ldiv_t;
div_t div (int, int);
ldiv_t ldiv (long, long);
_CRTIMP div_t __cdecl div (int, int);
_CRTIMP ldiv_t __cdecl ldiv (long, long);
#ifndef __STRICT_ANSI__
@ -401,74 +403,75 @@ ldiv_t ldiv (long, long);
* NOTE: Officially the three following functions are obsolete. The Win32 API
* functions SetErrorMode, Beep and Sleep are their replacements.
*/
void _beep (unsigned int, unsigned int);
void _seterrormode (int);
void _sleep (unsigned long);
_CRTIMP void __cdecl _beep (unsigned int, unsigned int);
_CRTIMP void __cdecl _seterrormode (int);
_CRTIMP void __cdecl _sleep (unsigned long);
void _exit (int) _ATTRIB_NORETURN;
_CRTIMP void __cdecl _exit (int) _ATTRIB_NORETURN;
#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
/* C99 function name */
void _Exit(int) _ATTRIB_NORETURN; /* Declare to get noreturn attribute. */
extern __inline__ void _Exit(int status)
void __cdecl _Exit(int) _ATTRIB_NORETURN; /* Declare to get noreturn attribute. */
extern __inline__ void __cdecl _Exit(int status)
{ _exit(status); }
#endif
/* _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 _onexit( _onexit_t );
_onexit_t __cdecl _onexit( _onexit_t );
int _putenv (const char*);
void _searchenv (const char*, const char*, char*);
_CRTIMP int __cdecl _putenv (const char*);
_CRTIMP void __cdecl _searchenv (const char*, const char*, char*);
char* _ecvt (double, int, int*, int*);
char* _fcvt (double, int, int*, int*);
char* _gcvt (double, int, char*);
_CRTIMP char* __cdecl _ecvt (double, int, int*, int*);
_CRTIMP char* __cdecl _fcvt (double, int, int*, int*);
_CRTIMP char* __cdecl _gcvt (double, int, char*);
void _makepath (char*, const char*, const char*, const char*, const char*);
void _splitpath (const char*, char*, char*, char*, char*);
char* _fullpath (char*, const char*, size_t);
_CRTIMP void __cdecl _makepath (char*, const char*, const char*, const char*, const char*);
_CRTIMP void __cdecl _splitpath (const char*, char*, char*, char*, char*);
_CRTIMP char* __cdecl _fullpath (char*, const char*, size_t);
char* _itoa (int, char*, int);
char* _ltoa (long, char*, int);
char* _ultoa(unsigned long, char*, int);
wchar_t* _itow (int, wchar_t*, int);
wchar_t* _ltow (long, wchar_t*, int);
wchar_t* _ultow (unsigned long, wchar_t*, int);
_CRTIMP char* __cdecl _itoa (int, char*, int);
_CRTIMP char* __cdecl _ltoa (long, char*, int);
_CRTIMP char* __cdecl _ultoa(unsigned long, char*, int);
_CRTIMP wchar_t* __cdecl _itow (int, wchar_t*, int);
_CRTIMP wchar_t* __cdecl _ltow (long, wchar_t*, int);
_CRTIMP wchar_t* __cdecl _ultow (unsigned long, wchar_t*, int);
#ifdef __MSVCRT__
__int64 _atoi64(const char *);
char* _i64toa(__int64, char *, int);
char* _ui64toa(unsigned __int64, char *, int);
__int64 _wtoi64(const wchar_t *);
wchar_t* _i64tow(__int64, wchar_t *, int);
wchar_t* _ui64tow(unsigned __int64, wchar_t *, int);
_CRTIMP __int64 __cdecl _atoi64(const char *);
_CRTIMP char* __cdecl _i64toa(__int64, char *, int);
_CRTIMP char* __cdecl _ui64toa(unsigned __int64, char *, int);
_CRTIMP __int64 __cdecl _wtoi64(const wchar_t *);
_CRTIMP wchar_t* __cdecl _i64tow(__int64, wchar_t *, int);
_CRTIMP wchar_t* __cdecl _ui64tow(unsigned __int64, wchar_t *, int);
wchar_t* _wgetenv(const wchar_t*);
int _wputenv(const wchar_t*);
void _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*);
void _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*);
void _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*);
wchar_t* _wfullpath (wchar_t*, const wchar_t*, size_t);
_CRTIMP wchar_t* __cdecl _wgetenv(const wchar_t*);
_CRTIMP int __cdecl _wputenv(const wchar_t*);
_CRTIMP void __cdecl _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*);
_CRTIMP void __cdecl _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*);
_CRTIMP void __cdecl _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*);
_CRTIMP wchar_t* __cdecl _wfullpath (wchar_t*, const wchar_t*, size_t);
unsigned int _rotl(unsigned int, int);
unsigned int _rotr(unsigned int, int);
unsigned long _lrotl(unsigned long, int);
unsigned long _lrotr(unsigned long, int);
_CRTIMP unsigned int __cdecl _rotl(unsigned int, int);
_CRTIMP unsigned int __cdecl _rotr(unsigned int, int);
_CRTIMP unsigned long __cdecl _lrotl(unsigned long, int);
_CRTIMP unsigned long __cdecl _lrotr(unsigned long, int);
#endif
#ifndef _NO_OLDNAMES
int putenv (const char*);
void searchenv (const char*, const char*, char*);
_CRTIMP int __cdecl putenv (const char*);
_CRTIMP void __cdecl searchenv (const char*, const char*, char*);
char* itoa (int, char*, int);
char* ltoa (long, char*, int);
_CRTIMP char* __cdecl itoa (int, char*, int);
_CRTIMP char* __cdecl ltoa (long, char*, int);
#ifndef _UWIN
char* ecvt (double, int, int*, int*);
char* fcvt (double, int, int*, int*);
char* gcvt (double, int, char*);
_CRTIMP char* __cdecl ecvt (double, int, int*, int*);
_CRTIMP char* __cdecl fcvt (double, int, int*, int*);
_CRTIMP char* __cdecl gcvt (double, int, char*);
#endif /* _UWIN */
#endif /* Not _NO_OLDNAMES */
@ -480,36 +483,36 @@ char* gcvt (double, int, char*);
typedef struct { long long quot, rem; } lldiv_t;
lldiv_t lldiv (long long, long long);
lldiv_t __cdecl lldiv (long long, long long);
extern __inline__ long long llabs(long long _j)
extern __inline__ long long __cdecl llabs(long long _j)
{return (_j >= 0 ? _j : -_j);}
long long strtoll (const char* __restrict__, char** __restrict, int);
unsigned long long strtoull (const char* __restrict__, char** __restrict__, int);
long long __cdecl strtoll (const char* __restrict__, char** __restrict, int);
unsigned long long __cdecl strtoull (const char* __restrict__, char** __restrict__, int);
#if defined (__MSVCRT__) /* these are stubs for MS _i64 versions */
long long atoll (const char *);
long long __cdecl atoll (const char *);
#if !defined (__STRICT_ANSI__)
long long wtoll(const wchar_t *);
char* lltoa(long long, char *, int);
char* ulltoa(unsigned long long , char *, int);
wchar_t* lltow(long long, wchar_t *, int);
wchar_t* ulltow(unsigned long long, wchar_t *, int);
long long __cdecl wtoll (const wchar_t *);
char* __cdecl lltoa (long long, char *, int);
char* __cdecl ulltoa (unsigned long long , char *, int);
wchar_t* __cdecl lltow (long long, wchar_t *, int);
wchar_t* __cdecl ulltow (unsigned long long, wchar_t *, int);
/* inline using non-ansi functions */
extern __inline__ long long atoll (const char * _c)
extern __inline__ long long __cdecl atoll (const char * _c)
{ return _atoi64 (_c); }
extern __inline__ char* lltoa(long long _n, char * _c, int _i)
extern __inline__ char* __cdecl lltoa (long long _n, char * _c, int _i)
{ return _i64toa (_n, _c, _i); }
extern __inline__ char* ulltoa(unsigned long long _n, char * _c, int _i)
extern __inline__ char* __cdecl ulltoa (unsigned long long _n, char * _c, int _i)
{ return _ui64toa (_n, _c, _i); }
extern __inline__ long long wtoll(const wchar_t * _w)
extern __inline__ long long __cdecl wtoll (const wchar_t * _w)
{ return _wtoi64 (_w); }
extern __inline__ wchar_t* lltow(long long _n, wchar_t * _w, int _i)
extern __inline__ wchar_t* __cdecl lltow (long long _n, wchar_t * _w, int _i)
{ return _i64tow (_n, _w, _i); }
extern __inline__ wchar_t* ulltow(unsigned long long _n, wchar_t * _w, int _i)
extern __inline__ wchar_t* __cdecl ulltow (unsigned long long _n, wchar_t * _w, int _i)
{ return _ui64tow (_n, _w, _i); }
#endif /* (__STRICT_ANSI__) */

View File

@ -49,52 +49,52 @@ extern "C" {
/*
* Prototypes of the ANSI Standard C library string functions.
*/
void* memchr (const void*, int, size_t);
int memcmp (const void*, const void*, size_t);
void* memcpy (void*, const void*, size_t);
void* memmove (void*, const void*, size_t);
void* memset (void*, int, size_t);
char* strcat (char*, const char*);
char* strchr (const char*, int);
int strcmp (const char*, const char*);
int strcoll (const char*, const char*); /* Compare using locale */
char* strcpy (char*, const char*);
size_t strcspn (const char*, const char*);
char* strerror (int); /* NOTE: NOT an old name wrapper. */
_CRTIMP void* __cdecl memchr (const void*, int, size_t);
_CRTIMP int __cdecl memcmp (const void*, const void*, size_t);
_CRTIMP void* __cdecl memcpy (void*, const void*, size_t);
_CRTIMP void* __cdecl memmove (void*, const void*, size_t);
_CRTIMP void* __cdecl memset (void*, int, size_t);
_CRTIMP char* __cdecl strcat (char*, const char*);
_CRTIMP char* __cdecl strchr (const char*, int);
_CRTIMP int __cdecl strcmp (const char*, const char*);
_CRTIMP int __cdecl strcoll (const char*, const char*); /* Compare using locale */
_CRTIMP char* __cdecl strcpy (char*, const char*);
_CRTIMP size_t __cdecl strcspn (const char*, const char*);
_CRTIMP char* __cdecl strerror (int); /* NOTE: NOT an old name wrapper. */
size_t strlen (const char*);
char* strncat (char*, const char*, size_t);
int strncmp (const char*, const char*, size_t);
char* strncpy (char*, const char*, size_t);
char* strpbrk (const char*, const char*);
char* strrchr (const char*, int);
size_t strspn (const char*, const char*);
char* strstr (const char*, const char*);
char* strtok (char*, const char*);
size_t strxfrm (char*, const char*, size_t);
_CRTIMP size_t __cdecl strlen (const char*);
_CRTIMP char* __cdecl strncat (char*, const char*, size_t);
_CRTIMP int __cdecl strncmp (const char*, const char*, size_t);
_CRTIMP char* __cdecl strncpy (char*, const char*, size_t);
_CRTIMP char* __cdecl strpbrk (const char*, const char*);
_CRTIMP char* __cdecl strrchr (const char*, int);
_CRTIMP size_t __cdecl strspn (const char*, const char*);
_CRTIMP char* __cdecl strstr (const char*, const char*);
_CRTIMP char* __cdecl strtok (char*, const char*);
_CRTIMP size_t __cdecl strxfrm (char*, const char*, size_t);
#ifndef __STRICT_ANSI__
/*
* Extra non-ANSI functions provided by the CRTDLL library
*/
char* _strerror (const char *);
void* _memccpy (void*, const void*, int, size_t);
int _memicmp (const void*, const void*, size_t);
char* _strdup (const char*);
int _strcmpi (const char*, const char*);
int _stricmp (const char*, const char*);
int _stricoll (const char*, const char*);
char* _strlwr (char*);
int _strnicmp (const char*, const char*, size_t);
char* _strnset (char*, int, size_t);
char* _strrev (char*);
char* _strset (char*, int);
char* _strupr (char*);
void _swab (const char*, char*, size_t);
_CRTIMP char* __cdecl _strerror (const char *);
_CRTIMP void* __cdecl _memccpy (void*, const void*, int, size_t);
_CRTIMP int __cdecl _memicmp (const void*, const void*, size_t);
_CRTIMP char* __cdecl _strdup (const char*);
_CRTIMP int __cdecl _strcmpi (const char*, const char*);
_CRTIMP int __cdecl _stricmp (const char*, const char*);
_CRTIMP int __cdecl _stricoll (const char*, const char*);
_CRTIMP char* __cdecl _strlwr (char*);
_CRTIMP int __cdecl _strnicmp (const char*, const char*, size_t);
_CRTIMP char* __cdecl _strnset (char*, int, size_t);
_CRTIMP char* __cdecl _strrev (char*);
_CRTIMP char* __cdecl _strset (char*, int);
_CRTIMP char* __cdecl _strupr (char*);
_CRTIMP void __cdecl _swab (const char*, char*, size_t);
#ifdef __MSVCRT__
int _strncoll(const char*, const char*, size_t);
int _strnicoll(const char*, const char*, size_t);
_CRTIMP int __cdecl _strncoll(const char*, const char*, size_t);
_CRTIMP int __cdecl _strnicoll(const char*, const char*, size_t);
#endif
#endif /* Not __STRICT_ANSI__ */
@ -102,23 +102,23 @@ int _strnicoll(const char*, const char*, size_t);
/*
* Unicode versions of the standard calls.
*/
wchar_t* wcscat (wchar_t*, const wchar_t*);
wchar_t* wcschr (const wchar_t*, wchar_t);
int wcscmp (const wchar_t*, const wchar_t*);
int wcscoll (const wchar_t*, const wchar_t*);
wchar_t* wcscpy (wchar_t*, const wchar_t*);
size_t wcscspn (const wchar_t*, const wchar_t*);
_CRTIMP wchar_t* __cdecl wcscat (wchar_t*, const wchar_t*);
_CRTIMP wchar_t* __cdecl wcschr (const wchar_t*, wchar_t);
_CRTIMP int __cdecl wcscmp (const wchar_t*, const wchar_t*);
_CRTIMP int __cdecl wcscoll (const wchar_t*, const wchar_t*);
_CRTIMP wchar_t* __cdecl wcscpy (wchar_t*, const wchar_t*);
_CRTIMP size_t __cdecl wcscspn (const wchar_t*, const wchar_t*);
/* Note: No wcserror in CRTDLL. */
size_t wcslen (const wchar_t*);
wchar_t* wcsncat (wchar_t*, const wchar_t*, size_t);
int wcsncmp(const wchar_t*, const wchar_t*, size_t);
wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t);
wchar_t* wcspbrk(const wchar_t*, const wchar_t*);
wchar_t* wcsrchr(const wchar_t*, wchar_t);
size_t wcsspn(const wchar_t*, const wchar_t*);
wchar_t* wcsstr(const wchar_t*, const wchar_t*);
wchar_t* wcstok(wchar_t*, const wchar_t*);
size_t wcsxfrm(wchar_t*, const wchar_t*, size_t);
_CRTIMP size_t __cdecl wcslen (const wchar_t*);
_CRTIMP wchar_t* __cdecl wcsncat (wchar_t*, const wchar_t*, size_t);
_CRTIMP int __cdecl wcsncmp(const wchar_t*, const wchar_t*, size_t);
_CRTIMP wchar_t* __cdecl wcsncpy(wchar_t*, const wchar_t*, size_t);
_CRTIMP wchar_t* __cdecl wcspbrk(const wchar_t*, const wchar_t*);
_CRTIMP wchar_t* __cdecl wcsrchr(const wchar_t*, wchar_t);
_CRTIMP size_t __cdecl wcsspn(const wchar_t*, const wchar_t*);
_CRTIMP wchar_t* __cdecl wcsstr(const wchar_t*, const wchar_t*);
_CRTIMP wchar_t* __cdecl wcstok(wchar_t*, const wchar_t*);
_CRTIMP size_t __cdecl wcsxfrm(wchar_t*, const wchar_t*, size_t);
#ifndef __STRICT_ANSI__
/*
@ -128,19 +128,19 @@ size_t wcsxfrm(wchar_t*, const wchar_t*, size_t);
/* NOTE: _wcscmpi not provided by CRTDLL, this define is for portability */
#define _wcscmpi _wcsicmp
wchar_t* _wcsdup (const wchar_t*);
int _wcsicmp (const wchar_t*, const wchar_t*);
int _wcsicoll (const wchar_t*, const wchar_t*);
wchar_t* _wcslwr (wchar_t*);
int _wcsnicmp (const wchar_t*, const wchar_t*, size_t);
wchar_t* _wcsnset (wchar_t*, wchar_t, size_t);
wchar_t* _wcsrev (wchar_t*);
wchar_t* _wcsset (wchar_t*, wchar_t);
wchar_t* _wcsupr (wchar_t*);
_CRTIMP wchar_t* __cdecl _wcsdup (const wchar_t*);
_CRTIMP int __cdecl _wcsicmp (const wchar_t*, const wchar_t*);
_CRTIMP int __cdecl _wcsicoll (const wchar_t*, const wchar_t*);
_CRTIMP wchar_t* __cdecl _wcslwr (wchar_t*);
_CRTIMP int __cdecl _wcsnicmp (const wchar_t*, const wchar_t*, size_t);
_CRTIMP wchar_t* __cdecl _wcsnset (wchar_t*, wchar_t, size_t);
_CRTIMP wchar_t* __cdecl _wcsrev (wchar_t*);
_CRTIMP wchar_t* __cdecl _wcsset (wchar_t*, wchar_t);
_CRTIMP wchar_t* __cdecl _wcsupr (wchar_t*);
#ifdef __MSVCRT__
int _wcsncoll(const wchar_t*, const wchar_t*, size_t);
int _wcsnicoll(const wchar_t*, const wchar_t*, size_t);
_CRTIMP int __cdecl _wcsncoll(const wchar_t*, const wchar_t*, size_t);
_CRTIMP int __cdecl _wcsnicoll(const wchar_t*, const wchar_t*, size_t);
#endif
@ -156,41 +156,41 @@ int _wcsnicoll(const wchar_t*, const wchar_t*, size_t);
* strcasecmp.
*/
void* memccpy (void*, const void*, int, size_t);
int memicmp (const void*, const void*, size_t);
char* strdup (const char*);
int strcmpi (const char*, const char*);
int stricmp (const char*, const char*);
extern __inline__ int
_CRTIMP void* __cdecl memccpy (void*, const void*, int, size_t);
_CRTIMP int __cdecl memicmp (const void*, const void*, size_t);
_CRTIMP char* __cdecl strdup (const char*);
_CRTIMP int __cdecl strcmpi (const char*, const char*);
_CRTIMP int __cdecl stricmp (const char*, const char*);
extern __inline__ int __cdecl
strcasecmp (const char * __sz1, const char * __sz2)
{return _stricmp (__sz1, __sz2);}
int stricoll (const char*, const char*);
char* strlwr (char*);
int strnicmp (const char*, const char*, size_t);
extern __inline__ int
_CRTIMP int __cdecl stricoll (const char*, const char*);
_CRTIMP char* __cdecl strlwr (char*);
_CRTIMP int __cdecl strnicmp (const char*, const char*, size_t);
extern __inline__ int __cdecl
strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare)
{return _strnicmp (__sz1, __sz2, __sizeMaxCompare);}
char* strnset (char*, int, size_t);
char* strrev (char*);
char* strset (char*, int);
char* strupr (char*);
_CRTIMP char* __cdecl strnset (char*, int, size_t);
_CRTIMP char* __cdecl strrev (char*);
_CRTIMP char* __cdecl strset (char*, int);
_CRTIMP char* __cdecl strupr (char*);
#ifndef _UWIN
void swab (const char*, char*, size_t);
_CRTIMP void __cdecl swab (const char*, char*, size_t);
#endif /* _UWIN */
/* NOTE: There is no _wcscmpi, but this is for compatibility. */
extern __inline__ int
extern __inline__ int __cdecl
wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2)
{return _wcsicmp (__ws1, __ws2);}
wchar_t* wcsdup (wchar_t*);
int wcsicmp (const wchar_t*, const wchar_t*);
int wcsicoll (const wchar_t*, const wchar_t*);
wchar_t* wcslwr (wchar_t*);
int wcsnicmp (const wchar_t*, const wchar_t*, size_t);
wchar_t* wcsnset (wchar_t*, wchar_t, size_t);
wchar_t* wcsrev (wchar_t*);
wchar_t* wcsset (wchar_t*, wchar_t);
wchar_t* wcsupr (wchar_t*);
_CRTIMP wchar_t* __cdecl wcsdup (wchar_t*);
_CRTIMP int __cdecl wcsicmp (const wchar_t*, const wchar_t*);
_CRTIMP int __cdecl wcsicoll (const wchar_t*, const wchar_t*);
_CRTIMP wchar_t* __cdecl wcslwr (wchar_t*);
_CRTIMP int __cdecl wcsnicmp (const wchar_t*, const wchar_t*, size_t);
_CRTIMP wchar_t* __cdecl wcsnset (wchar_t*, wchar_t, size_t);
_CRTIMP wchar_t* __cdecl wcsrev (wchar_t*);
_CRTIMP wchar_t* __cdecl wcsset (wchar_t*, wchar_t);
_CRTIMP wchar_t* __cdecl wcsupr (wchar_t*);
#endif /* Not _NO_OLDNAMES */
#endif /* Not strict ANSI */

View File

@ -154,16 +154,16 @@ struct _stati64 {
extern "C" {
#endif
int _fstat (int, struct _stat*);
int _chmod (const char*, int);
int _stat (const char*, struct _stat*);
_CRTIMP int __cdecl _fstat (int, struct _stat*);
_CRTIMP int __cdecl _chmod (const char*, int);
_CRTIMP int __cdecl _stat (const char*, struct _stat*);
#if defined (__MSVCRT__)
int _fstati64(int, struct _stati64 *);
int _stati64(const char *, struct _stati64 *);
_CRTIMP int __cdecl _fstati64(int, struct _stati64 *);
_CRTIMP int __cdecl _stati64(const char *, struct _stati64 *);
#if !defined ( _WSTAT_DEFINED) /* also declared in wchar.h */
int _wstat(const wchar_t*, struct _stat*);
int _wstati64 (const wchar_t*, struct _stati64*);
_CRTIMP int __cdecl _wstat(const wchar_t*, struct _stat*);
_CRTIMP int __cdecl _wstati64 (const wchar_t*, struct _stati64*);
#define _WSTAT_DEFINED
#endif /* _WSTAT_DEFIND */
#endif /* __MSVCRT__ */
@ -171,9 +171,9 @@ int _wstati64 (const wchar_t*, struct _stati64*);
#ifndef _NO_OLDNAMES
/* These functions live in liboldnames.a. */
int fstat (int, struct stat*);
int chmod (const char*, int);
int stat (const char*, struct stat*);
_CRTIMP int __cdecl fstat (int, struct stat*);
_CRTIMP int __cdecl chmod (const char*, int);
_CRTIMP int __cdecl stat (const char*, struct stat*);
#endif /* Not _NO_OLDNAMES */

View File

@ -64,10 +64,10 @@ extern "C" {
#endif
/* TODO: Not tested. */
void _ftime (struct _timeb*);
_CRTIMP void __cdecl _ftime (struct _timeb*);
#ifndef _NO_OLDNAMES
void ftime (struct timeb*);
_CRTIMP void __cdecl ftime (struct timeb*);
#endif /* Not _NO_OLDNAMES */
#ifdef __cplusplus

View File

@ -65,16 +65,16 @@ struct utimbuf
extern "C" {
#endif
int _utime (const char*, struct _utimbuf*);
int _futime (int, struct _utimbuf*);
_CRTIMP int __cdecl _utime (const char*, struct _utimbuf*);
_CRTIMP int __cdecl _futime (int, struct _utimbuf*);
/* The wide character version, only available for MSVCRT versions of the
* C runtime library. */
#ifdef __MSVCRT__
int _wutime (const wchar_t*, struct _utimbuf*);
_CRTIMP int __cdecl _wutime (const wchar_t*, struct _utimbuf*);
#endif /* MSVCRT runtime */
#ifndef _NO_OLDNAMES
int utime (const char*, struct utimbuf*);
_CRTIMP int __cdecl utime (const char*, struct utimbuf*);
#endif /* Not _NO_OLDNAMES */
#ifdef __cplusplus

View File

@ -93,10 +93,10 @@ struct tm
extern "C" {
#endif
clock_t clock (void);
time_t time (time_t*);
double difftime (time_t, time_t);
time_t mktime (struct tm*);
_CRTIMP clock_t __cdecl clock (void);
_CRTIMP time_t __cdecl time (time_t*);
_CRTIMP double __cdecl difftime (time_t, time_t);
_CRTIMP time_t __cdecl mktime (struct tm*);
/*
* These functions write to and return pointers to static buffers that may
@ -108,26 +108,26 @@ time_t mktime (struct tm*);
* Fault and crap out your program. Guess how I know. Hint: stat called on
* a directory gives 'invalid' times in st_atime etc...
*/
char* asctime (const struct tm*);
char* ctime (const time_t*);
struct tm* gmtime (const time_t*);
struct tm* localtime (const time_t*);
_CRTIMP char* __cdecl asctime (const struct tm*);
_CRTIMP char* __cdecl ctime (const time_t*);
_CRTIMP struct tm* __cdecl gmtime (const time_t*);
_CRTIMP struct tm* __cdecl localtime (const time_t*);
size_t strftime (char*, size_t, const char*, const struct tm*);
_CRTIMP size_t __cdecl strftime (char*, size_t, const char*, const struct tm*);
size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
_CRTIMP size_t __cdecl wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
#ifndef __STRICT_ANSI__
extern void _tzset (void);
extern _CRTIMP void __cdecl _tzset (void);
#ifndef _NO_OLDNAMES
extern void tzset (void);
extern _CRTIMP void __cdecl tzset (void);
#endif
size_t strftime(char*, size_t, const char*, const struct tm*);
char* _strdate(char*);
char* _strtime(char*);
_CRTIMP size_t __cdecl strftime(char*, size_t, const char*, const struct tm*);
_CRTIMP char* __cdecl _strdate(char*);
_CRTIMP char* __cdecl _strtime(char*);
#endif /* Not __STRICT_ANSI__ */
@ -140,9 +140,9 @@ char* _strtime(char*);
#ifdef __MSVCRT__
/* These are for compatibility with pre-VC 5.0 suppied MSVCRT. */
extern int* __p__daylight (void);
extern long* __p__timezone (void);
extern char** __p__tzname (void);
extern _CRTIMP int* __cdecl __p__daylight (void);
extern _CRTIMP long* __cdecl __p__timezone (void);
extern _CRTIMP char** __cdecl __p__tzname (void);
__MINGW_IMPORT int _daylight;
__MINGW_IMPORT long _timezone;
@ -186,10 +186,10 @@ __MINGW_IMPORT char *tzname[2];
/* wide function prototypes, also declared in wchar.h */
wchar_t * _wasctime(const struct tm*);
wchar_t * _wctime(const time_t*);
wchar_t* _wstrdate(wchar_t*);
wchar_t* _wstrtime(wchar_t*);
_CRTIMP wchar_t* __cdecl _wasctime(const struct tm*);
_CRTIMP wchar_t* __cdecl _wctime(const time_t*);
_CRTIMP wchar_t* __cdecl _wstrdate(wchar_t*);
_CRTIMP wchar_t* __cdecl _wstrtime(wchar_t*);
#define _WTIME_DEFINED
#endif /* _WTIME_DEFINED */

View File

@ -85,65 +85,65 @@ struct _wfinddatai64_t {
applies to other wide character versions? */
#if !defined (_WIO_DEFINED)
#if defined (__MSVCRT__)
int _waccess (const wchar_t*, int);
int _wchmod (const wchar_t*, int);
int _wcreat (const wchar_t*, int);
long _wfindfirst (const wchar_t*, struct _wfinddata_t *);
int _wfindnext (long, struct _wfinddata_t *);
int _wunlink (const wchar_t*);
int _wopen (const wchar_t*, int, ...);
int _wsopen (const wchar_t*, int, int, ...);
wchar_t* _wmktemp (wchar_t*);
long _wfindfirsti64 (const wchar_t*, struct _wfinddatai64_t*);
int _wfindnexti64 (long, struct _wfinddatai64_t*);
_CRTIMP int __cdecl _waccess (const wchar_t*, int);
_CRTIMP int __cdecl _wchmod (const wchar_t*, int);
_CRTIMP int __cdecl _wcreat (const wchar_t*, int);
_CRTIMP long __cdecl _wfindfirst (const wchar_t*, struct _wfinddata_t *);
_CRTIMP int __cdecl _wfindnext (long, struct _wfinddata_t *);
_CRTIMP int __cdecl _wunlink (const wchar_t*);
_CRTIMP int __cdecl _wopen (const wchar_t*, int, ...);
_CRTIMP int __cdecl _wsopen (const wchar_t*, int, int, ...);
_CRTIMP wchar_t* __cdecl _wmktemp (wchar_t*);
_CRTIMP long __cdecl _wfindfirsti64 (const wchar_t*, struct _wfinddatai64_t*);
_CRTIMP int __cdecl _wfindnexti64 (long, struct _wfinddatai64_t*);
#endif /* defined (__MSVCRT__) */
#define _WIO_DEFINED
#endif /* _WIO_DEFINED */
#ifndef _WSTDIO_DEFINED
/* also in stdio.h - keep in sync */
int fwprintf (FILE*, const wchar_t*, ...);
int wprintf (const wchar_t*, ...);
int swprintf (wchar_t*, const wchar_t*, ...);
int _snwprintf (wchar_t*, size_t, const wchar_t*, ...);
int vfwprintf (FILE*, const wchar_t*, va_list);
int vwprintf (const wchar_t*, va_list);
int vswprintf (wchar_t*, const wchar_t*, va_list);
int _vsnwprintf (wchar_t*, size_t, const wchar_t*, va_list);
int fwscanf (FILE*, const wchar_t*, ...);
int wscanf (const wchar_t*, ...);
int swscanf (const wchar_t*, const wchar_t*, ...);
wint_t fgetwc (FILE*);
wint_t fputwc (wchar_t, FILE*);
wint_t ungetwc (wchar_t, FILE*);
_CRTIMP int __cdecl fwprintf (FILE*, const wchar_t*, ...);
_CRTIMP int __cdecl wprintf (const wchar_t*, ...);
_CRTIMP int __cdecl swprintf (wchar_t*, const wchar_t*, ...);
_CRTIMP int __cdecl _snwprintf (wchar_t*, size_t, const wchar_t*, ...);
_CRTIMP int __cdecl vfwprintf (FILE*, const wchar_t*, __VA_LIST);
_CRTIMP int __cdecl vwprintf (const wchar_t*, __VA_LIST);
_CRTIMP int __cdecl vswprintf (wchar_t*, const wchar_t*, __VA_LIST);
_CRTIMP int __cdecl _vsnwprintf (wchar_t*, size_t, const wchar_t*, __VA_LIST);
_CRTIMP int __cdecl fwscanf (FILE*, const wchar_t*, ...);
_CRTIMP int __cdecl wscanf (const wchar_t*, ...);
_CRTIMP int __cdecl swscanf (const wchar_t*, const wchar_t*, ...);
_CRTIMP wint_t __cdecl fgetwc (FILE*);
_CRTIMP wint_t __cdecl fputwc (wchar_t, FILE*);
_CRTIMP wint_t __cdecl ungetwc (wchar_t, FILE*);
#ifndef __NO_ISOCEXT /* externs in libmingwex.a */
int snwprintf(wchar_t* s, size_t n, const wchar_t* format, ...);
extern __inline__ int vsnwprintf (wchar_t* s, size_t n, const wchar_t* format,
va_list arg)
int __cdecl snwprintf(wchar_t* s, size_t n, const wchar_t* format, ...);
extern __inline__ int __cdecl vsnwprintf (wchar_t* s, size_t n, const wchar_t* format,
__VA_LIST arg)
{ return _vsnwprintf ( s, n, format, arg); }
#endif
#ifdef __MSVCRT__
wchar_t* fgetws (wchar_t*, int, FILE*);
int fputws (const wchar_t*, FILE*);
wint_t getwc (FILE*);
wint_t getwchar (void);
wchar_t* _getws (wchar_t*);
wint_t putwc (wint_t, FILE*);
int _putws (const wchar_t*);
wint_t putwchar (wint_t);
FILE* _wfdopen(int, wchar_t *);
FILE* _wfopen (const wchar_t*, const wchar_t*);
FILE* _wfreopen (const wchar_t*, const wchar_t*, FILE*);
FILE* _wfsopen (const wchar_t*, const wchar_t*, int);
wchar_t* _wtmpnam (wchar_t*);
wchar_t* _wtempnam (const wchar_t*, const wchar_t*);
int _wrename (const wchar_t*, const wchar_t*);
int _wremove (const wchar_t*)
_CRTIMP wchar_t* __cdecl fgetws (wchar_t*, int, FILE*);
_CRTIMP int __cdecl fputws (const wchar_t*, FILE*);
_CRTIMP wint_t __cdecl getwc (FILE*);
_CRTIMP wint_t __cdecl getwchar (void);
_CRTIMP wchar_t* __cdecl _getws (wchar_t*);
_CRTIMP wint_t __cdecl putwc (wint_t, FILE*);
_CRTIMP int __cdecl _putws (const wchar_t*);
_CRTIMP wint_t __cdecl putwchar (wint_t);
_CRTIMP FILE* __cdecl _wfdopen(int, wchar_t *);
_CRTIMP FILE* __cdecl _wfopen (const wchar_t*, const wchar_t*);
_CRTIMP FILE* __cdecl _wfreopen (const wchar_t*, const wchar_t*, FILE*);
_CRTIMP FILE* __cdecl _wfsopen (const wchar_t*, const wchar_t*, int);
_CRTIMP wchar_t* __cdecl _wtmpnam (wchar_t*);
_CRTIMP wchar_t* __cdecl _wtempnam (const wchar_t*, const wchar_t*);
_CRTIMP int __cdecl _wrename (const wchar_t*, const wchar_t*);
_CRTIMP int __cdecl _wremove (const wchar_t*)
FILE* _wpopen (const wchar_t*, const wchar_t*)
void _wperror (const wchar_t*);
_CRTIMP FILE* __cdecl _wpopen (const wchar_t*, const wchar_t*)
_CRTIMP void __cdecl _wperror (const wchar_t*);
#endif /* __MSVCRT__ */
#define _WSTDIO_DEFINED
#endif /* _WSTDIO_DEFINED */
@ -151,11 +151,11 @@ void _wperror (const wchar_t*);
#ifndef _WDIRECT_DEFINED
/* Also in direct.h */
#ifdef __MSVCRT__
int _wchdir (const wchar_t*);
wchar_t* _wgetcwd (wchar_t*, int);
wchar_t* _wgetdcwd (int, wchar_t*, int);
int _wmkdir (const wchar_t*);
int _wrmdir (const wchar_t*);
_CRTIMP int __cdecl _wchdir (const wchar_t*);
_CRTIMP wchar_t* __cdecl _wgetcwd (wchar_t*, int);
_CRTIMP wchar_t* __cdecl _wgetdcwd (int, wchar_t*, int);
_CRTIMP int __cdecl _wmkdir (const wchar_t*);
_CRTIMP int __cdecl _wrmdir (const wchar_t*);
#endif /* __MSVCRT__ */
#define _WDIRECT_DEFINED
#endif /* _WDIRECT_DEFINED */
@ -220,8 +220,8 @@ struct _stati64 {
#if !defined ( _WSTAT_DEFINED)
/* also declared in sys/stat.h */
#if defined __MSVCRT__
int _wstat (const wchar_t*, struct _stat*);
int _wstati64 (const wchar_t*, struct _stati64*);
_CRTIMP int __cdecl _wstat (const wchar_t*, struct _stat*);
_CRTIMP int __cdecl _wstati64 (const wchar_t*, struct _stati64*);
#endif /* __MSVCRT__ */
#define _WSTAT_DEFINED
#endif /* ! _WSTAT_DEFIND */
@ -229,28 +229,28 @@ int _wstati64 (const wchar_t*, struct _stati64*);
#ifndef _WTIME_DEFINED
#ifdef __MSVCRT__
/* wide function prototypes, also declared in time.h */
wchar_t* _wasctime (const struct tm*);
wchar_t* _wctime (const time_t*);
wchar_t* _wstrdate (wchar_t*);
wchar_t* _wstrtime (wchar_t*);
_CRTIMP wchar_t* __cdecl _wasctime (const struct tm*);
_CRTIMP wchar_t* __cdecl _wctime (const time_t*);
_CRTIMP wchar_t* __cdecl _wstrdate (wchar_t*);
_CRTIMP wchar_t* __cdecl _wstrtime (wchar_t*);
#endif /* __MSVCRT__ */
size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
_CRTIMP size_t __cdecl wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
#define _WTIME_DEFINED
#endif /* _WTIME_DEFINED */
#ifndef _WLOCALE_DEFINED /* also declared in locale.h */
wchar_t* _wsetlocale (int, const wchar_t*);
_CRTIMP wchar_t* __cdecl _wsetlocale (int, const wchar_t*);
#define _WLOCALE_DEFINED
#endif
#ifndef _WSTDLIB_DEFINED /* also declared in stdlib.h */
long wcstol (const wchar_t*, wchar_t**, int);
unsigned long wcstoul (const wchar_t*, wchar_t**, int);
double wcstod (const wchar_t*, wchar_t**);
_CRTIMP long __cdecl wcstol (const wchar_t*, wchar_t**, int);
_CRTIMP unsigned long __cdecl wcstoul (const wchar_t*, wchar_t**, int);
_CRTIMP double __cdecl wcstod (const wchar_t*, wchar_t**);
#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
extern __inline__ float wcstof( const wchar_t *nptr, wchar_t **endptr)
extern __inline__ float __cdecl wcstof( const wchar_t *nptr, wchar_t **endptr)
{ return (wcstod(nptr, endptr)); }
long double wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
#endif /* __NO_ISOCEXT */
#define _WSTDLIB_DEFINED
#endif
@ -261,17 +261,17 @@ long double wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
/* Wide character versions. Also declared in io.h. */
/* CHECK: Are these in the oldnames??? NO! */
#if (0)
int waccess (const wchar_t *, int);
int wchmod (const wchar_t *, int);
int wcreat (const wchar_t *, int);
long wfindfirst (wchar_t *, struct _wfinddata_t *);
int wfindnext (long, struct _wfinddata_t *);
int wunlink (const wchar_t *);
int wrename (const wchar_t *, const wchar_t *);
int wremove (const wchar_t *);
int wopen (const wchar_t *, int, ...);
int wsopen (const wchar_t *, int, int, ...);
wchar_t* wmktemp (wchar_t *);
int waccess (const wchar_t *, int);
int wchmod (const wchar_t *, int);
int wcreat (const wchar_t *, int);
long wfindfirst (wchar_t *, struct _wfinddata_t *);
int wfindnext (long, struct _wfinddata_t *);
int wunlink (const wchar_t *);
int wrename (const wchar_t *, const wchar_t *);
int wremove (const wchar_t *);
int wopen (const wchar_t *, int, ...);
int wsopen (const wchar_t *, int, int, ...);
wchar_t* wmktemp (wchar_t *);
#endif
#endif /* _NO_OLDNAMES */
@ -283,29 +283,28 @@ wchar_t* wmktemp (wchar_t *);
typedef int mbstate_t;
typedef wchar_t _Wint_t;
wint_t btowc(int);
size_t mbrlen(const char *, size_t, mbstate_t *);
size_t mbrtowc(wchar_t *, const char *, size_t, mbstate_t *);
size_t mbsrtowcs(wchar_t *, const char **, size_t, mbstate_t *);
wint_t __cdecl btowc(int);
size_t __cdecl mbrlen(const char *, size_t, mbstate_t *);
size_t __cdecl mbrtowc(wchar_t *, const char *, size_t, mbstate_t *);
size_t __cdecl mbsrtowcs(wchar_t *, const char **, size_t, mbstate_t *);
size_t wcrtomb(char *, wchar_t, mbstate_t *);
size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
int wctob(wint_t);
size_t __cdecl wcrtomb(char *, wchar_t, mbstate_t *);
size_t __cdecl wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
int __cdecl wctob(wint_t);
#ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */
extern __inline__ int fwide(FILE* stream, int mode) {return -1;} /* limited to byte orientation */
extern __inline__ int mbsinit(const mbstate_t* ps) {return 1;}
wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n);
wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n);
extern __inline__ int __cdecl fwide(FILE* stream, int mode) {return -1;} /* limited to byte orientation */
extern __inline__ int __cdecl mbsinit(const mbstate_t* ps) {return 1;}
wchar_t* __cdecl wmemset(wchar_t* s, wchar_t c, size_t n);
wchar_t* __cdecl wmemchr(const wchar_t* s, wchar_t c, size_t n);
int wmemcmp(const wchar_t* s1, const wchar_t * s2, size_t n);
wchar_t* wmemcpy(wchar_t* __restrict__ s1, const wchar_t* __restrict__ s2,
wchar_t* __cdecl wmemcpy(wchar_t* __restrict__ s1, const wchar_t* __restrict__ s2,
size_t n);
wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n);
long long wcstoll(const wchar_t* __restrict__ nptr,
wchar_t* __cdecl wmemmove(wchar_t* s1, const wchar_t* s2, size_t n);
long long __cdecl wcstoll(const wchar_t* __restrict__ nptr,
wchar_t** __restrict__ endptr, int base);
unsigned long long wcstoull(const wchar_t* __restrict__ nptr,
unsigned long long __cdecl wcstoull(const wchar_t* __restrict__ nptr,
wchar_t ** __restrict__ endptr, int base);
#endif /* __NO_ISOCEXT */

View File

@ -64,25 +64,25 @@ typedef wchar_t wctype_t;
#endif
/* Wide character equivalents - also in ctype.h */
int iswalnum(wint_t);
int iswalpha(wint_t);
int iswascii(wint_t);
int iswcntrl(wint_t);
int iswctype(wint_t, wctype_t);
int is_wctype(wint_t, wctype_t); /* Obsolete! */
int iswdigit(wint_t);
int iswgraph(wint_t);
int iswlower(wint_t);
int iswprint(wint_t);
int iswpunct(wint_t);
int iswspace(wint_t);
int iswupper(wint_t);
int iswxdigit(wint_t);
_CRTIMP int __cdecl iswalnum(wint_t);
_CRTIMP int __cdecl iswalpha(wint_t);
_CRTIMP int __cdecl iswascii(wint_t);
_CRTIMP int __cdecl iswcntrl(wint_t);
_CRTIMP int __cdecl iswctype(wint_t, wctype_t);
_CRTIMP int __cdecl is_wctype(wint_t, wctype_t); /* Obsolete! */
_CRTIMP int __cdecl iswdigit(wint_t);
_CRTIMP int __cdecl iswgraph(wint_t);
_CRTIMP int __cdecl iswlower(wint_t);
_CRTIMP int __cdecl iswprint(wint_t);
_CRTIMP int __cdecl iswpunct(wint_t);
_CRTIMP int __cdecl iswspace(wint_t);
_CRTIMP int __cdecl iswupper(wint_t);
_CRTIMP int __cdecl iswxdigit(wint_t);
wchar_t towlower(wchar_t);
wchar_t towupper(wchar_t);
_CRTIMP wchar_t __cdecl towlower(wchar_t);
_CRTIMP wchar_t __cdecl towupper(wchar_t);
int isleadbyte (int);
_CRTIMP int __cdecl isleadbyte (int);
/* Also in ctype.h */
@ -108,28 +108,29 @@ extern unsigned short** _imp___ctype;
#endif /* __DECLSPEC_SUPPORTED */
#if !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED))
#if !(defined (__NO_INLINE__) || defined(__NO_CTYPE_INLINES) \
|| defined(__WCTYPE_INLINES_DEFINED))
#define __WCTYPE_INLINES_DEFINED
extern __inline__ int iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));}
extern __inline__ int iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));}
extern __inline__ int iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);}
extern __inline__ int iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));}
extern __inline__ int iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));}
extern __inline__ int iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));}
extern __inline__ int iswlower(wint_t wc) {return (iswctype(wc,_LOWER));}
extern __inline__ int iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));}
extern __inline__ int iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));}
extern __inline__ int iswspace(wint_t wc) {return (iswctype(wc,_SPACE));}
extern __inline__ int iswupper(wint_t wc) {return (iswctype(wc,_UPPER));}
extern __inline__ int iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));}
extern __inline__ int isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);}
extern __inline__ int __cdecl iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));}
extern __inline__ int __cdecl iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));}
extern __inline__ int __cdecl iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);}
extern __inline__ int __cdecl iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));}
extern __inline__ int __cdecl iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));}
extern __inline__ int __cdecl iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));}
extern __inline__ int __cdecl iswlower(wint_t wc) {return (iswctype(wc,_LOWER));}
extern __inline__ int __cdecl iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));}
extern __inline__ int __cdecl iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));}
extern __inline__ int __cdecl iswspace(wint_t wc) {return (iswctype(wc,_SPACE));}
extern __inline__ int __cdecl iswupper(wint_t wc) {return (iswctype(wc,_UPPER));}
extern __inline__ int __cdecl iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));}
extern __inline__ int __cdecl isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);}
#endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */
typedef wchar_t wctrans_t;
wint_t towctrans(wint_t, wctrans_t);
wctrans_t wctrans(const char*);
wctype_t wctype(const char*);
_CRTIMP wint_t __cdecl towctrans(wint_t, wctrans_t);
_CRTIMP wctrans_t __cdecl wctrans(const char*);
_CRTIMP wctype_t __cdecl wctype(const char*);
#ifdef __cplusplus
}