* 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:
parent
16f4e17208
commit
14e54d7c97
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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__ */
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -104,7 +104,7 @@ extern "C" {
|
|||
#undef errno
|
||||
extern int errno;
|
||||
#else
|
||||
int* _errno(void);
|
||||
_CRTIMP int* __cdecl _errno(void);
|
||||
#define errno (*_errno())
|
||||
#endif
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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. */
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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);"
|
||||
|
|
|
@ -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[];
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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__) */
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue