]> sourceware.org Git - newlib-cygwin.git/commitdiff
* include/_mingw.h (_CRTIMP): Define for __GNUC__ if
authorDanny Smith <dannysmith@users.sourceforge.net>
Mon, 10 Feb 2003 21:13:34 +0000 (21:13 +0000)
committerDanny Smith <dannysmith@users.sourceforge.net>
Mon, 10 Feb 2003 21:13:34 +0000 (21:13 +0000)
__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.

30 files changed:
winsup/mingw/ChangeLog
winsup/mingw/include/_mingw.h
winsup/mingw/include/assert.h
winsup/mingw/include/conio.h
winsup/mingw/include/ctype.h
winsup/mingw/include/direct.h
winsup/mingw/include/dirent.h
winsup/mingw/include/dos.h
winsup/mingw/include/errno.h
winsup/mingw/include/fenv.h
winsup/mingw/include/float.h
winsup/mingw/include/inttypes.h
winsup/mingw/include/io.h
winsup/mingw/include/locale.h
winsup/mingw/include/malloc.h
winsup/mingw/include/math.h
winsup/mingw/include/mbctype.h
winsup/mingw/include/mbstring.h
winsup/mingw/include/process.h
winsup/mingw/include/setjmp.h
winsup/mingw/include/signal.h
winsup/mingw/include/stdio.h
winsup/mingw/include/stdlib.h
winsup/mingw/include/string.h
winsup/mingw/include/sys/stat.h
winsup/mingw/include/sys/timeb.h
winsup/mingw/include/sys/utime.h
winsup/mingw/include/time.h
winsup/mingw/include/wchar.h
winsup/mingw/include/wctype.h

index b0666e73d0151ba37b1acef7dd51728942174307..3c767fb890151f6e32a87f90be20c19a8c4ac2d6 100644 (file)
@@ -1,3 +1,44 @@
+2003-02-10  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * include/_mingw.h (_CRTIMP): Define for __GNUC__ if
+       __declspec(dllimport)  supported.
+       (__cdecl): Define if not already defined.
+       (__stdcall): Likewise.
+       * include/dirent.h: Qualify fuctions with __cdecl.
+       * include/fenv.h: Likewise.
+       * include/inttypes.h: Likewise.
+       * include/assert.h: Qualify fuctions with __cdecl. Qualify
+       CRT dll imports with _CRTIMP.
+       * include/conio.h: Likewise.
+       * include/ctype.h: Likewise.
+       * include/direct.h: Likewise.
+       * include/dos.h: Likewise.
+       * include/errno.h: Likewise.
+       * include/float.h: Likewise.
+       * include/io.h: Likewise.
+       * include/locale.h: Likewise.
+       * include/malloc.h: Likewise.
+       * include/math.h: Likewise.
+       * include/mbctype.h: Likewise.
+       * include/mbstring.h: Likewise.
+       * include/process.h: Likewise.
+       * include/setjmp.h: Likewise.
+       * include/signal.h: Likewise.
+       * include/stdio.h: Likewise.
+       * include/stdlib.h: Likewise.
+       * include/string.h: Likewise.
+       * include/time.h: Likewise.
+       * include/wchar.h: Likewise.
+       * include/wctype.h: Likewise.
+       * include/sys/stat.h: Likewise.
+       * include/sys/timeb.h: Likewise.
+       * include/sys/utime.h: Likewise.
+
+       * include/ctype.h: Guard ctype inlines with __NO_INLINE__.
+       * include/wctype.h: Guard wctype inlines with __NO_INLINE__.
+
+       * include/stdio.h (__VALIST): Guard against prior definition.
+
 2003-02-08  Earnie Boyd  <earnie@users.sf.net>
 
        * include/_mingw.h: Change version to 3.0
index b1eec359898b013300cdf1d50c3ccd1af1a3e88d..439b5beaf0c9d1e6a62fb1b58cde577d490e6fb5 100644 (file)
@@ -29,6 +29,7 @@
    __DECLSPEC_SUPPORTED    Defined if dllimport attribute is supported.
    __MINGW_IMPORT          The attribute definition to specify imported
                            variables/functions. 
+   _CRTIMP                 As above.  For MS compatibility.  
    __MINGW32_VERSION       Runtime version.
    __MINGW32_MAJOR_VERSION Runtime major version.
    __MINGW32_MINOR_VERSION Runtime minor version.
@@ -47,6 +48,9 @@
 # ifndef __MINGW_IMPORT
 #  define __MINGW_IMPORT  __declspec(dllimport)
 # endif
+# ifndef _CRTIMP
+#  define _CRTIMP  __declspec(dllimport)
+# endif
 # define __DECLSPEC_SUPPORTED
 #else /* __GNUC__ */
 # ifdef __declspec
    /* 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 */
-
index 07a7d1ffe90fa9c481b2b8239c94cd56f34565f0..893db911364367f9b4cbc292b5839d1f87bee450 100644 (file)
@@ -49,7 +49,7 @@ extern "C" {
  * CRTDLL nicely supplies a function which does the actual output and
  * call to abort.
  */
-void   _assert (const char*, const char*, int)
+_CRTIMP void __cdecl _assert (const char*, const char*, int)
 #ifdef __GNUC__
        __attribute__ ((noreturn))
 #endif
index 4e8d55ab60e40dbdfde3e1176fe5968feda196fd..780ccc10da1974243f75a6eca4d635966379fae6 100644 (file)
 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 */
 
index fcbb31d77e14e464349bda0e6b3763a3fe254e33..462fc7bc78d9e5461ef844f04cd5beca3ad2f088 100644 (file)
 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);
-
-wchar_t        towlower(wchar_t);
-wchar_t        towupper(wchar_t);
-
-int    isleadbyte (int);
+_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);
+
+_CRTIMP wchar_t __cdecl towlower(wchar_t);
+_CRTIMP wchar_t __cdecl towupper(wchar_t);
+
+_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) */
-
-#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 == '_'));}
+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) */
+
+#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__ */
index cbd8e9fe1a2eb86391fb42d99ac46835f5a15f58..c8fec4cf4259303e489204e8f220740247b073c2 100644 (file)
@@ -61,11 +61,11 @@ struct _diskfree_t {
  * You really shouldn't be using these. Use the Win32 API functions instead.
  * However, it does make it easier to port older code.
  */
-int    _getdrive (void);
-unsigned long _getdrives(void);
-int    _chdrive (int);
-char*  _getdcwd (int, char*, int);
-unsigned _getdiskfree (unsigned, struct _diskfree_t *);
+_CRTIMP int __cdecl _getdrive (void);
+_CRTIMP unsigned long __cdecl _getdrives(void);
+_CRTIMP int __cdecl _chdrive (int);
+_CRTIMP char* __cdecl _getdcwd (int, char*, int);
+_CRTIMP unsigned __cdecl _getdiskfree (unsigned, struct _diskfree_t *);
 
 #ifndef        _NO_OLDNAMES
 # define diskfree_t _diskfree_t
@@ -74,11 +74,11 @@ unsigned _getdiskfree (unsigned, struct _diskfree_t *);
 #ifndef _WDIRECT_DEFINED
 /* wide character versions. Also in wchar.h */
 #ifdef __MSVCRT__ 
-int _wchdir(const wchar_t*);
-wchar_t* _wgetcwd(wchar_t*, int);
-wchar_t* _wgetdcwd(int, wchar_t*, int);
-int _wmkdir(const wchar_t*);
-int _wrmdir(const wchar_t*);
+_CRTIMP int __cdecl _wchdir(const wchar_t*);
+_CRTIMP wchar_t* __cdecl _wgetcwd(wchar_t*, int);
+_CRTIMP wchar_t* __cdecl _wgetdcwd(int, wchar_t*, int);
+_CRTIMP int __cdecl _wmkdir(const wchar_t*);
+_CRTIMP int __cdecl _wrmdir(const wchar_t*);
 #endif /* __MSVCRT__ */
 #define _WDIRECT_DEFINED
 #endif
index 4df6bd9974e8cf687d144f8c1eba9259d0868fd9..5a9246a4abe24b29f799052036cccb3bfbfde2db 100644 (file)
@@ -77,12 +77,12 @@ typedef struct
        char                    dd_name[1];
 } DIR;
 
-DIR*           opendir (const char*);
-struct dirent* readdir (DIR*);
-int            closedir (DIR*);
-void           rewinddir (DIR*);
-long           telldir (DIR*);
-void           seekdir (DIR*, long);
+DIR* __cdecl opendir (const char*);
+struct dirent* __cdecl readdir (DIR*);
+int __cdecl closedir (DIR*);
+void __cdecl rewinddir (DIR*);
+long __cdecl telldir (DIR*);
+void __cdecl seekdir (DIR*, long);
 
 
 /* wide char versions */
@@ -127,12 +127,12 @@ typedef struct
 
 
 
-_WDIR*         _wopendir (const wchar_t*);
-struct _wdirent* _wreaddir (_WDIR*);
-int            _wclosedir (_WDIR*);
-void           _wrewinddir (_WDIR*);
-long           _wtelldir (_WDIR*);
-void           _wseekdir (_WDIR*, long);
+_WDIR* __cdecl _wopendir (const wchar_t*);
+struct _wdirent*  __cdecl _wreaddir (_WDIR*);
+int __cdecl _wclosedir (_WDIR*);
+void __cdecl _wrewinddir (_WDIR*);
+long __cdecl _wtelldir (_WDIR*);
+void __cdecl _wseekdir (_WDIR*, long);
 
 
 #ifdef __cplusplus
index 5374a7a5276da15becda7d88315a31098cdfa3a9..4f2134e7e43796cff43c412370faf1dca5df68e3 100644 (file)
@@ -92,7 +92,7 @@ struct _diskfree_t {
 #define _DISKFREE_T_DEFINED
 #endif  
 
-unsigned _getdiskfree (unsigned, struct _diskfree_t *);
+_CRTIMP unsigned __cdecl _getdiskfree (unsigned, struct _diskfree_t *);
 
 #ifndef        _NO_OLDNAMES
 # define diskfree_t _diskfree_t
index fdeb8e3758e8153341f069c2fb472af6cc596acf..e4669ccec50ac960c46e229bfb8ed90203d796fa 100644 (file)
@@ -104,7 +104,7 @@ extern "C" {
 #undef errno
 extern int errno;
 #else
-int*   _errno(void);
+_CRTIMP int* __cdecl _errno(void);
 #define        errno           (*_errno())
 #endif
 
index e27095ff8ce7cf69062e9ed6d49e2076a8281c6e..43dfd338a4b232e1c3f9c1cbbba0866eb3ff43fc 100644 (file)
@@ -65,23 +65,23 @@ extern "C" {
 /*TODO: Some of these could be inlined */
 /* 7.6.2 Exception */
 
-extern int feclearexcept (int);
-extern int fegetexceptflag (fexcept_t * flagp, int excepts);
-extern int feraiseexcept (int excepts );
-extern int fesetexceptflag (const fexcept_t *, int);
-extern int fetestexcept (int excepts);
+extern int __cdecl feclearexcept (int);
+extern int __cdecl fegetexceptflag (fexcept_t * flagp, int excepts);
+extern int __cdecl feraiseexcept (int excepts );
+extern int __cdecl fesetexceptflag (const fexcept_t *, int);
+extern int __cdecl fetestexcept (int excepts);
 
 /* 7.6.3 Rounding */
 
-extern int fegetround (void);
-extern int fesetround (int mode);
+extern int __cdecl fegetround (void);
+extern int __cdecl fesetround (int mode);
 
 /* 7.6.4 Environment */
 
-extern int fegetenv (fenv_t * envp);
-extern int fesetenv (const fenv_t * );
-extern int feupdateenv (const fenv_t *);
-extern int feholdexcept (fenv_t *);
+extern int __cdecl fegetenv (fenv_t * envp);
+extern int __cdecl fesetenv (const fenv_t * );
+extern int __cdecl feupdateenv (const fenv_t *);
+extern int __cdecl feholdexcept (fenv_t *);
 
 #ifdef __cplusplus
 }
index afcc280a9ca69ed3e02ae5fe4efa69565bef56b9..1e3d4aa82e40ee844d6f1bc22df375397d8f2074 100644 (file)
@@ -115,12 +115,12 @@ extern "C" {
 /* Set the FPU control word as cw = (cw & ~unMask) | (unNew & unMask),
  * i.e. change the bits in unMask to have the values they have in unNew,
  * leaving other bits unchanged. */
-unsigned int   _controlfp (unsigned int unNew, unsigned int unMask);
-unsigned int   _control87 (unsigned int unNew, unsigned int unMask);
+_CRTIMP unsigned int __cdecl _controlfp (unsigned int unNew, unsigned int unMask);
+_CRTIMP unsigned int __cdecl _control87 (unsigned int unNew, unsigned int unMask);
 
 
-unsigned int   _clearfp (void);        /* Clear the FPU status word */
-unsigned int   _statusfp (void);       /* Report the FPU status word */
+_CRTIMP unsigned int __cdecl _clearfp (void);  /* Clear the FPU status word */
+_CRTIMP unsigned int __cdecl _statusfp (void); /* Report the FPU status word */
 #define                _clear87        _clearfp
 #define                _status87       _statusfp
 
@@ -134,11 +134,11 @@ unsigned int      _statusfp (void);       /* Report the FPU status word */
    per fninit. To use the MSVCRT.dll _fpreset, include CRT_fp8.o when
    building your application.   
 */
-void           _fpreset (void);
-void           fpreset (void);
+void __cdecl _fpreset (void);
+void __cdecl fpreset (void);
 
 /* Global 'variable' for the current floating point error code. */
-int *  __fpecode(void);
+_CRTIMP int * __cdecl __fpecode(void);
 #define        _fpecode        (*(__fpecode()))
 
 /*
@@ -146,15 +146,15 @@ int *     __fpecode(void);
  * but they really belong in math.h.
  */
 
-double _chgsign        (double);
-double _copysign       (double, double);
-double _logb           (double);
-double _nextafter      (double, double);
-double _scalb          (double, long);
+_CRTIMP double __cdecl _chgsign        (double);
+_CRTIMP double __cdecl _copysign (double, double);
+_CRTIMP double __cdecl _logb (double);
+_CRTIMP double __cdecl _nextafter (double, double);
+_CRTIMP double __cdecl _scalb (double, long);
 
-int    _finite         (double);
-int    _fpclass        (double);
-int    _isnan          (double);
+_CRTIMP int __cdecl _finite (double);
+_CRTIMP int __cdecl _fpclass (double);
+_CRTIMP int __cdecl _isnan (double);
 
 #ifdef __cplusplus
 }
index 70efb5f592322bfdf5e145266dba881b15a3fd8e..ead95fb9b5d8b3d9e1e39b095de309a93b84d390 100644 (file)
@@ -254,19 +254,21 @@ typedef struct {
 
 #endif /* !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) */
 
-extern __inline__ intmax_t     imaxabs (intmax_t j)
+extern __inline__ intmax_t __cdecl imaxabs (intmax_t j)
        {return (j >= 0 ? j : -j);}
-imaxdiv_t imaxdiv (intmax_t numer, intmax_t denom);
+imaxdiv_t __cdecl imaxdiv (intmax_t numer, intmax_t denom);
 
 /* 7.8.2 Conversion functions for greatest-width integer types */
 
-intmax_t   strtoimax (const char* __restrict__ nptr, char** __restrict__ endptr, int base);
-uintmax_t  strtoumax (const char* __restrict__ nptr, char** __restrict__ endptr, int base);
+intmax_t __cdecl strtoimax (const char* __restrict__ nptr,
+                            char** __restrict__ endptr, int base);
+uintmax_t __cdecl strtoumax (const char* __restrict__ nptr,
+                            char** __restrict__ endptr, int base);
 
-intmax_t wcstoimax (const wchar_t* __restrict__ nptr, wchar_t** __restrict__ endptr,
-          int base);
-uintmax_t wcstoumax (const wchar_t* __restrict__ nptr, wchar_t** __restrict__ endptr,
-          int base);
+intmax_t __cdecl wcstoimax (const wchar_t* __restrict__ nptr,
+                            wchar_t** __restrict__ endptr, int base);
+uintmax_t __cdecl wcstoumax (const wchar_t* __restrict__ nptr,
+                            wchar_t** __restrict__ endptr, int base);
 
 #ifdef __cplusplus
 }
index 288c3dc166f163843eba951fdd1d72a8389c3758..c2a257b33e5ef5eefc3032939980895454237bce 100644 (file)
@@ -116,36 +116,36 @@ extern "C" {
  * _findclose calls. _findnext also returns -1 if no match could be found,
  * and 0 if a match was found. Call _findclose when you are finished.
  */
-int    _findfirst (const char*, struct _finddata_t*);
-int    _findnext (int, struct _finddata_t*);
-int    _findclose (int);
+_CRTIMP int __cdecl _findfirst (const char*, struct _finddata_t*);
+_CRTIMP int __cdecl _findnext (int, struct _finddata_t*);
+_CRTIMP int __cdecl _findclose (int);
 
-int    _chdir (const char*);
-char*  _getcwd (char*, int);
-int    _mkdir (const char*);
-char*  _mktemp (char*);
-int    _rmdir (const char*);
-int _chmod (const char*, int);
+_CRTIMP int __cdecl _chdir (const char*);
+_CRTIMP char* __cdecl _getcwd (char*, int);
+_CRTIMP int __cdecl _mkdir (const char*);
+_CRTIMP char* __cdecl _mktemp (char*);
+_CRTIMP int __cdecl _rmdir (const char*);
+_CRTIMP int __cdecl _chmod (const char*, int);
 
 
 #ifdef __MSVCRT__
-__int64  _filelengthi64(int);
-long _findfirsti64(const char*, struct _finddatai64_t*);
-int _findnexti64(long, struct _finddatai64_t*);
-__int64  _lseeki64(int, __int64, int);
-__int64  _telli64(int);
+_CRTIMP __int64 __cdecl _filelengthi64(int);
+_CRTIMP long __cdecl _findfirsti64(const char*, struct _finddatai64_t*);
+_CRTIMP int __cdecl _findnexti64(long, struct _finddatai64_t*);
+_CRTIMP __int64 __cdecl _lseeki64(int, __int64, int);
+_CRTIMP __int64 __cdecl _telli64(int);
 #endif /* __MSVCRT__ */
 
 
 #ifndef _NO_OLDNAMES
 
 #ifndef _UWIN
-int    chdir (const char*);
-char*  getcwd (char*, int);
-int    mkdir (const char*);
-char*  mktemp (char*);
-int    rmdir (const char*);
-int chmod (const char*, int);
+_CRTIMP int __cdecl chdir (const char*);
+_CRTIMP char* __cdecl getcwd (char*, int);
+_CRTIMP int __cdecl mkdir (const char*);
+_CRTIMP char* __cdecl mktemp (char*);
+_CRTIMP int __cdecl rmdir (const char*);
+_CRTIMP int __cdecl chmod (const char*, int);
 #endif /* _UWIN */
 
 #endif /* Not _NO_OLDNAMES */
@@ -176,21 +176,21 @@ int chmod (const char*, int);
 extern "C" {
 #endif
 
-int            _access (const char*, int);
-int            _chsize (int, long);
-int            _close (int);
-int            _commit(int);
+_CRTIMP int __cdecl _access (const char*, int);
+_CRTIMP int __cdecl _chsize (int, long);
+_CRTIMP int __cdecl _close (int);
+_CRTIMP int __cdecl _commit(int);
 
 /* NOTE: The only significant bit in unPermissions appears to be bit 7 (0x80),
  *       the "owner write permission" bit (on FAT). */
-int            _creat (const char*, int);
+_CRTIMP int __cdecl _creat (const char*, int);
 
-int            _dup (int);
-int            _dup2 (int, int);
-long           _filelength (int);
-int            _fileno (FILE*);
-long           _get_osfhandle (int);
-int            _isatty (int);
+_CRTIMP int __cdecl _dup (int);
+_CRTIMP int __cdecl _dup2 (int, int);
+_CRTIMP long __cdecl _filelength (int);
+_CRTIMP int __cdecl _fileno (FILE*);
+_CRTIMP long __cdecl _get_osfhandle (int);
+_CRTIMP int __cdecl _isatty (int);
 
 /* In a very odd turn of events this function is excluded from those
  * files which define _STREAM_COMPAT. This is required in order to
@@ -198,47 +198,47 @@ int               _isatty (int);
  * line 107. Actually I might just be able to change the name of
  * the enum member in streambuf.h... we'll see. TODO */
 #ifndef        _STREAM_COMPAT
-int            _eof (int);
+_CRTIMP int __cdecl _eof (int);
 #endif
 
 /* LK_... locking commands defined in sys/locking.h. */
-int            _locking (int, int, long);
+_CRTIMP int __cdecl _locking (int, int, long);
 
-long           _lseek (int, long, int);
+_CRTIMP long __cdecl _lseek (int, long, int);
 
 /* Optional third argument is unsigned unPermissions. */
-int            _open (const char*, int, ...);
+_CRTIMP int __cdecl _open (const char*, int, ...);
 
-int            _open_osfhandle (long, int);
-int            _pipe (int *, unsigned int, int);
-int            _read (int, void*, unsigned int);
-int            _setmode (int, int);
+_CRTIMP int __cdecl _open_osfhandle (long, int);
+_CRTIMP int __cdecl _pipe (int *, unsigned int, int);
+_CRTIMP int __cdecl _read (int, void*, unsigned int);
+_CRTIMP int __cdecl _setmode (int, int);
 
 /* SH_... flags for nShFlags defined in share.h
  * Optional fourth argument is unsigned unPermissions */
-int            _sopen (const char*, int, int, ...);
+_CRTIMP int __cdecl _sopen (const char*, int, int, ...);
 
-long           _tell (int);
+_CRTIMP long __cdecl _tell (int);
 /* Should umask be in sys/stat.h and/or sys/types.h instead? */
-int            _umask (int);
-int            _unlink (const char*);
-int            _write (int, const void*, unsigned int);
+_CRTIMP int __cdecl _umask (int);
+_CRTIMP int __cdecl _unlink (const char*);
+_CRTIMP int __cdecl _write (int, const void*, unsigned int);
 
 /* Wide character versions. Also declared in wchar.h. */
 /* Not in crtdll.dll */
 #if !defined (_WIO_DEFINED)
 #if defined (__MSVCRT__)
-int            _waccess(const wchar_t*, int);
-int            _wchmod(const wchar_t*, int);
-int            _wcreat(const wchar_t*, int);
-long           _wfindfirst(const wchar_t*, struct _wfinddata_t*);
-int            _wfindnext(long, struct _wfinddata_t *);
-int            _wunlink(const wchar_t*);
-int            _wopen(const wchar_t*, int, ...);
-int            _wsopen(const wchar_t*, int, int, ...);
-wchar_t *      _wmktemp(wchar_t*);
-long  _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*);
-int  _wfindnexti64(long, struct _wfinddatai64_t*);
+_CRTIMP int __cdecl _waccess(const wchar_t*, int);
+_CRTIMP int __cdecl _wchmod(const wchar_t*, int);
+_CRTIMP int __cdecl _wcreat(const wchar_t*, int);
+_CRTIMP long __cdecl _wfindfirst(const wchar_t*, struct _wfinddata_t*);
+_CRTIMP int __cdecl _wfindnext(long, struct _wfinddata_t *);
+_CRTIMP int __cdecl _wunlink(const wchar_t*);
+_CRTIMP int __cdecl _wopen(const wchar_t*, int, ...);
+_CRTIMP int __cdecl _wsopen(const wchar_t*, int, int, ...);
+_CRTIMP wchar_t * __cdecl _wmktemp(wchar_t*);
+_CRTIMP long __cdecl _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*);
+_CRTIMP int __cdecl _wfindnexti64(long, struct _wfinddatai64_t*);
 #endif /* defined (__MSVCRT__) */
 #define _WIO_DEFINED
 #endif /* _WIO_DEFINED */
@@ -250,25 +250,25 @@ int  _wfindnexti64(long, struct _wfinddatai64_t*);
  */
 
 #ifndef _UWIN
-int            access (const char*, int);
-int            chsize (int, long );
-int            close (int);
-int            creat (const char*, int);
-int            dup (int);
-int            dup2 (int, int);
-int            eof (int);
-long           filelength (int);
-int            fileno (FILE*);
-int            isatty (int);
-long           lseek (int, long, int);
-int            open (const char*, int, ...);
-int            read (int, void*, unsigned int);
-int            setmode (int, int);
-int            sopen (const char*, int, int, ...);
-long           tell (int);
-int            umask (int);
-int            unlink (const char*);
-int            write (int, const void*, unsigned int);
+_CRTIMP int __cdecl access (const char*, int);
+_CRTIMP int __cdecl chsize (int, long );
+_CRTIMP int __cdecl close (int);
+_CRTIMP int __cdecl creat (const char*, int);
+_CRTIMP int __cdecl dup (int);
+_CRTIMP int __cdecl dup2 (int, int);
+_CRTIMP int __cdecl eof (int);
+_CRTIMP long __cdecl filelength (int);
+_CRTIMP int __cdecl fileno (FILE*);
+_CRTIMP int __cdecl isatty (int);
+_CRTIMP long __cdecl lseek (int, long, int);
+_CRTIMP int __cdecl open (const char*, int, ...);
+_CRTIMP int __cdecl read (int, void*, unsigned int);
+_CRTIMP int __cdecl setmode (int, int);
+_CRTIMP int __cdecl sopen (const char*, int, int, ...);
+_CRTIMP long __cdecl tell (int);
+_CRTIMP int __cdecl umask (int);
+_CRTIMP int __cdecl unlink (const char*);
+_CRTIMP int __cdecl write (int, const void*, unsigned int);
 #endif /* _UWIN */
 
 /* Wide character versions. Also declared in wchar.h. */
index 16fb6119a2879fbc0fc009c1816c134b70a86f54..3f36388bde8ec2acf659e6d736da795e3e2e4683 100644 (file)
@@ -84,13 +84,13 @@ struct lconv
 extern "C" {
 #endif
 
-char*          setlocale (int, const char*);
-struct lconv*  localeconv (void);
+_CRTIMP  char* __cdecl setlocale (int, const char*);
+_CRTIMP struct lconv* __cdecl localeconv (void);
 
 #ifndef _WLOCALE_DEFINED  /* also declared in wchar.h */
 # define __need_wchar_t
 # include <stddef.h>
-  wchar_t*     _wsetlocale(int, const wchar_t*);
+  _CRTIMP wchar_t* __cdecl _wsetlocale(int, const wchar_t*);
 # define _WLOCALE_DEFINED
 #endif /* ndef _WLOCALE_DEFINED */
 
index 097a5e1c1f46b1b2ed7283d801a51e38b8c699be..834e0212f14adf37baefa4c278e06cfdc212df7a 100644 (file)
@@ -60,26 +60,26 @@ extern "C" {
    The _heap* memory allocation functions are supported on NT
    but not W9x. On latter, they always set errno to ENOSYS.
 */
-int    _heapwalk (_HEAPINFO*);
+_CRTIMP int __cdecl _heapwalk (_HEAPINFO*);
 #ifdef __GNUC__
 #define _alloca(x) __builtin_alloca((x))
 #endif
 
 #ifndef        _NO_OLDNAMES
-int    heapwalk (_HEAPINFO*);
+_CRTIMP int __cdecl heapwalk (_HEAPINFO*);
 #ifdef __GNUC__
 #define alloca(x) __builtin_alloca((x))
 #endif
 #endif /* Not _NO_OLDNAMES */
 
-int    _heapchk (void);        /* Verify heap integrety. */
-int    _heapmin (void);        /* Return unused heap to the OS. */
-int    _heapset (unsigned int);
+_CRTIMP int __cdecl _heapchk (void);   /* Verify heap integrety. */
+_CRTIMP int __cdecl _heapmin (void);   /* Return unused heap to the OS. */
+_CRTIMP int __cdecl _heapset (unsigned int);
 
-size_t _msize (void*);
-size_t _get_sbh_threshold (void); 
-int    _set_sbh_threshold (size_t);
-void * _expand (void*, size_t); 
+_CRTIMP size_t __cdecl _msize (void*);
+_CRTIMP size_t __cdecl _get_sbh_threshold (void); 
+_CRTIMP int __cdecl _set_sbh_threshold (size_t);
+_CRTIMP void* __cdecl _expand (void*, size_t); 
 
 #ifdef __cplusplus
 }
index 6249d020c78ecb4d4a51b0bf3737b9b95efa2fa4..cad49b186968efc4ba121e5a34e2b9957c90a0f6 100644 (file)
@@ -146,37 +146,39 @@ struct _exception
 };
 
 
-double sin (double);
-double cos (double);
-double tan (double);
-double sinh (double);
-double cosh (double);
-double tanh (double);
-double asin (double);
-double acos (double);
-double atan (double);
-double atan2 (double, double);
-double exp (double);
-double log (double);
-double log10 (double);
-double pow (double, double);
-double sqrt (double);
-double ceil (double);
-double floor (double);
-double fabs (double);
-extern __inline__  double fabs (double x)
+_CRTIMP double __cdecl sin (double);
+_CRTIMP double __cdecl cos (double);
+_CRTIMP double __cdecl tan (double);
+_CRTIMP double __cdecl sinh (double);
+_CRTIMP double __cdecl cosh (double);
+_CRTIMP double __cdecl tanh (double);
+_CRTIMP double __cdecl asin (double);
+_CRTIMP double __cdecl acos (double);
+_CRTIMP double __cdecl atan (double);
+_CRTIMP double __cdecl atan2 (double, double);
+_CRTIMP double __cdecl exp (double);
+_CRTIMP double __cdecl log (double);
+_CRTIMP double __cdecl log10 (double);
+_CRTIMP double __cdecl pow (double, double);
+_CRTIMP double __cdecl sqrt (double);
+_CRTIMP double __cdecl ceil (double);
+_CRTIMP double __cdecl floor (double);
+_CRTIMP double __cdecl fabs (double);
+#if !defined (__NO_INLINES__)
+extern __inline__ __cdecl double fabs (double x)
 {
   double res;
   __asm__ ("fabs;" : "=t" (res) : "0" (x));
   return res;
 }
-double ldexp (double, int);
-double frexp (double, int*);
-double modf (double, double*);
-double fmod (double, double);
+#endif
+_CRTIMP double __cdecl ldexp (double, int);
+_CRTIMP double __cdecl frexp (double, int*);
+_CRTIMP double __cdecl modf (double, double*);
+_CRTIMP double __cdecl fmod (double, double);
 
 
-#ifndef        __STRICT_ANSI__
+#ifndef __STRICT_ANSI__
 
 /* Complex number (for cabs). This really belongs in complex.h */
 struct _complex
@@ -185,16 +187,16 @@ struct _complex
        double  y;      /* Imaginary part */
 };
 
-double _cabs (struct _complex);
+_CRTIMP double __cdecl _cabs (struct _complex);
 
-double _hypot (double, double);
-double _j0 (double);
-double _j1 (double);
-double _jn (int, double);
-double _y0 (double);
-double _y1 (double);
-double _yn (int, double);
-int    _matherr (struct _exception *);
+_CRTIMP double __cdecl _hypot (double, double);
+_CRTIMP double __cdecl _j0 (double);
+_CRTIMP double __cdecl _j1 (double);
+_CRTIMP double __cdecl _jn (int, double);
+_CRTIMP double __cdecl _y0 (double);
+_CRTIMP double __cdecl _y1 (double);
+_CRTIMP double __cdecl _yn (int, double);
+_CRTIMP int __cdecl _matherr (struct _exception *);
 
 /* These are also declared in Mingw float.h; needed here as well to work 
    around GCC build issues.  */
@@ -203,15 +205,15 @@ int       _matherr (struct _exception *);
  * IEEE recommended functions
  */
 
-double _chgsign        (double);
-double _copysign       (double, double);
-double _logb           (double);
-double _nextafter      (double, double);
-double _scalb          (double, long);
+_CRTIMP double __cdecl _chgsign (double);
+_CRTIMP double __cdecl _copysign (double, double);
+_CRTIMP double __cdecl _logb (double);
+_CRTIMP double __cdecl _nextafter (double, double);
+_CRTIMP double __cdecl _scalb (double, long);
 
-int    _finite         (double);
-int    _fpclass        (double);
-int    _isnan          (double);
+_CRTIMP int __cdecl _finite (double);
+_CRTIMP int __cdecl _fpclass (double);
+_CRTIMP int __cdecl _isnan (double);
 
 /* END FLOAT.H COPY */
 
@@ -223,27 +225,27 @@ int       _isnan          (double);
 
 #if !defined (_NO_OLDNAMES)
 
-double cabs (struct _complex);
-double j0 (double);
-double j1 (double);
-double jn (int, double);
-double y0 (double);
-double y1 (double);
-double yn (int, double);
+_CRTIMP double __cdecl cabs (struct _complex);
+_CRTIMP double __cdecl j0 (double);
+_CRTIMP double __cdecl j1 (double);
+_CRTIMP double __cdecl jn (int, double);
+_CRTIMP double __cdecl y0 (double);
+_CRTIMP double __cdecl y1 (double);
+_CRTIMP double __cdecl yn (int, double);
 
-double chgsign (double);
-double scalb (double, long);
-int finite (double);
-int fpclass (double);
+_CRTIMP double __cdecl chgsign (double);
+_CRTIMP double __cdecl scalb (double, long);
+_CRTIMP int __cdecl finite (double);
+_CRTIMP int __cdecl fpclass (double);
 
-#endif /* Not _NO_OLDNAMES */
+#endif /* Not _NO_OLDNAMES */
 
 #endif /* __STRICT_ANSI__ */
 
 
 #ifndef __NO_ISOCEXT
 #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) \
-       || !defined  __STRICT_ANSI__  || defined __GLIBCPP__
+       || !defined __STRICT_ANSI__ || defined __GLIBCPP__
 
 #define NAN (0.0F/0.0F)
 #define HUGE_VALF (1.0F/0.0F)
@@ -273,10 +275,10 @@ int fpclass (double);
   converted to double, and zero when converted to float.)
 */
 
-extern int __fpclassifyf (float);
-extern int __fpclassify (double);
+extern int __cdecl __fpclassifyf (float);
+extern int __cdecl __fpclassify (double);
 
-extern __inline__ int __fpclassifyl (long double x){
+extern __inline__ int __cdecl __fpclassifyl (long double x){
   unsigned short sw;
   __asm__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x));
   return sw & (FP_NAN | FP_NORMAL | FP_ZERO );
@@ -296,7 +298,7 @@ extern __inline__ int __fpclassifyl (long double x){
 /* We don't need to worry about trucation here:
    A NaN stays a NaN. */
 
-extern __inline__ int __isnan (double _x)
+extern __inline__ int __cdecl __isnan (double _x)
 {
   unsigned short sw;
   __asm__ ("fxam;"
@@ -305,7 +307,7 @@ extern __inline__ int __isnan (double _x)
     == FP_NAN;
 }
 
-extern __inline__ int __isnanf (float _x)
+extern __inline__ int __cdecl __isnanf (float _x)
 {
   unsigned short sw;
   __asm__ ("fxam;"
@@ -314,7 +316,7 @@ extern __inline__ int __isnanf (float _x)
     == FP_NAN;
 }
 
-extern __inline__ int __isnanl (long double _x)
+extern __inline__ int __cdecl __isnanl (long double _x)
 {
   unsigned short sw;
   __asm__ ("fxam;"
@@ -332,120 +334,120 @@ extern __inline__ int __isnanl (long double _x)
 #define isnormal(x) (fpclassify(x) == FP_NORMAL)
 
 /* 7.12.3.6 The signbit macro */
-extern __inline__ int __signbit (double x) {
+extern __inline__ int __cdecl __signbit (double x) {
   unsigned short stw;
   __asm__ ( "fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
   return stw & 0x0200;
 }
 
-extern  __inline__ int __signbitf (float x) {
+extern  __inline__ int __cdecl __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 __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);"
index 346e6d790a9bae7181cf3cd1bef5dd83ec10fe16..dd57a7b5cd799c69fc266aba83a5dc62cebe5c57 100644 (file)
@@ -54,29 +54,29 @@ extern "C" {
 
 #ifndef        __STRICT_ANSI__
 
-int _setmbcp (int);
-int _getmbcp (void);
+_CRTIMP int __cdecl _setmbcp (int);
+_CRTIMP int __cdecl _getmbcp (void);
 
 /* byte classification  */
 /* NB: Corresponding _ismbc* functions are in mbstring.h */
 
-int _ismbbalpha (unsigned int);
-int _ismbbalnum (unsigned int);
-int _ismbbgraph (unsigned int);
-int _ismbbprint (unsigned int);
-int _ismbbpunct (unsigned int);
+_CRTIMP int __cdecl _ismbbalpha (unsigned int);
+_CRTIMP int __cdecl _ismbbalnum (unsigned int);
+_CRTIMP int __cdecl _ismbbgraph (unsigned int);
+_CRTIMP int __cdecl _ismbbprint (unsigned int);
+_CRTIMP int __cdecl _ismbbpunct (unsigned int);
 
-int _ismbbkana (unsigned int);
-int _ismbbkalnum (unsigned int);
-int _ismbbkprint (unsigned int);
-int _ismbbkpunct (unsigned int);
+_CRTIMP int __cdecl _ismbbkana (unsigned int);
+_CRTIMP int __cdecl _ismbbkalnum (unsigned int);
+_CRTIMP int __cdecl _ismbbkprint (unsigned int);
+_CRTIMP int __cdecl _ismbbkpunct (unsigned int);
 
 
 /* these are also in mbstring.h */
-int _ismbblead (unsigned int);
-int _ismbbtrail (unsigned int);
-int _ismbslead (const unsigned char*, const unsigned char*);
-int _ismbstrail (const unsigned char*, const unsigned char*);
+_CRTIMP int __cdecl _ismbblead (unsigned int);
+_CRTIMP int __cdecl _ismbbtrail (unsigned int);
+_CRTIMP int __cdecl _ismbslead (const unsigned char*, const unsigned char*);
+_CRTIMP int __cdecl _ismbstrail (const unsigned char*, const unsigned char*);
 
 #ifdef __DECLSPEC_SUPPORTED
 __MINGW_IMPORT unsigned char _mbctype[];
index 6b89ebd76e9a4eab538a7a22748c0c3b78bad5e9..4ad777602afc2f24eb0735970dd421a0e9a0e61a 100644 (file)
@@ -36,89 +36,89 @@ extern "C" {
 #ifndef        __STRICT_ANSI__
 
 /* character classification */
-int _ismbcalnum (unsigned int);
-int _ismbcalpha (unsigned int);
-int _ismbcdigit (unsigned int);
-int _ismbcgraph (unsigned int);
-int _ismbcprint (unsigned int);
-int _ismbcpunct (unsigned int);
-int _ismbcspace (unsigned int);
-int _ismbclower (unsigned int);
-int _ismbcupper (unsigned int);
-int _ismbclegal (unsigned int);
-int _ismbcsymbol (unsigned int);
+_CRTIMP int __cdecl _ismbcalnum (unsigned int);
+_CRTIMP int __cdecl _ismbcalpha (unsigned int);
+_CRTIMP int __cdecl _ismbcdigit (unsigned int);
+_CRTIMP int __cdecl _ismbcgraph (unsigned int);
+_CRTIMP int __cdecl _ismbcprint (unsigned int);
+_CRTIMP int __cdecl _ismbcpunct (unsigned int);
+_CRTIMP int __cdecl _ismbcspace (unsigned int);
+_CRTIMP int __cdecl _ismbclower (unsigned int);
+_CRTIMP int __cdecl _ismbcupper (unsigned int);
+_CRTIMP int __cdecl _ismbclegal (unsigned int);
+_CRTIMP int __cdecl _ismbcsymbol (unsigned int);
 
 
 /* also in mbctype.h */
-int _ismbblead (unsigned int );
-int _ismbbtrail (unsigned int );
-int _ismbslead ( const unsigned char*, const unsigned char*);
-int _ismbstrail ( const unsigned char*, const unsigned char*);
+_CRTIMP int __cdecl _ismbblead (unsigned int );
+_CRTIMP int __cdecl _ismbbtrail (unsigned int );
+_CRTIMP int __cdecl _ismbslead ( const unsigned char*, const unsigned char*);
+_CRTIMP int __cdecl _ismbstrail ( const unsigned char*, const unsigned char*);
 
-unsigned int _mbctolower (unsigned int);
-unsigned int _mbctoupper (unsigned int);
+_CRTIMP unsigned int __cdecl _mbctolower (unsigned int);
+_CRTIMP unsigned int __cdecl _mbctoupper (unsigned int);
 
-void _mbccpy (unsigned char*, const unsigned char*);
-size_t _mbclen (const unsigned char*);
+_CRTIMP void __cdecl _mbccpy (unsigned char*, const unsigned char*);
+_CRTIMP size_t __cdecl _mbclen (const unsigned char*);
 
-unsigned int _mbbtombc (unsigned int);
-unsigned int _mbctombb (unsigned int);
+_CRTIMP unsigned int __cdecl _mbbtombc (unsigned int);
+_CRTIMP unsigned int __cdecl _mbctombb (unsigned int);
 
 /* Return value constants for these are defined in mbctype.h.  */
-int _mbbtype (unsigned char, int);
-int _mbsbtype (const unsigned char*, size_t);
-
-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);
-
-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 int __cdecl _mbbtype (unsigned char, int);
+_CRTIMP int __cdecl _mbsbtype (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);
+
+_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 */
 
index adf19e8cd98a3081c154bc58fef2cfff43cb6dea..3fb8ed7e066efbc2e823fa2e5af7720881524ee9 100644 (file)
 extern "C" {
 #endif
 
-void   _cexit(void);
-void   _c_exit(void);
-
-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 void __cdecl _cexit(void);
+_CRTIMP void __cdecl _c_exit(void);
+
+_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*);
 
 /*
  * 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
index 89f045f60fda8491b472a4064ba80679e85aa650..91a650c34333bef676b9f5a5f22e79e761e92962 100644 (file)
@@ -52,7 +52,7 @@ typedef _JBTYPE jmp_buf[_JBLEN];
  * The function provided by CRTDLL which appears to do the actual work
  * of setjmp.
  */
-int    _setjmp (jmp_buf);
+_CRTIMP int __cdecl _setjmp (jmp_buf);
 
 #define        setjmp(x)       _setjmp(x)
 
@@ -60,7 +60,7 @@ int   _setjmp (jmp_buf);
  * Return to the last setjmp call and act as if setjmp had returned
  * nVal (which had better be non-zero!).
  */
-void   longjmp (jmp_buf, int);
+_CRTIMP void __cdecl longjmp (jmp_buf, int);
 
 #ifdef __cplusplus
 }
index 4298accb7d1e292b1b6b70ec96e583fe5ad3f3c9..b0a8173349f4b67270edced6d1d2e343ab19f8e0 100644 (file)
@@ -94,12 +94,12 @@ extern "C" {
  * previous handler, or SIG_ERR if an error occurs. Initially
  * unhandled signals defined above will return SIG_DFL.
  */
-__p_sig_fn_t   signal(int, __p_sig_fn_t);
+_CRTIMP __p_sig_fn_t __cdecl   signal(int, __p_sig_fn_t);
 
 /*
  * Raise the signal indicated by sig. Returns non-zero on success.
  */
-int    raise (int);
+_CRTIMP int __cdecl    raise (int);
 
 #ifdef __cplusplus
 }
index 6196cc044325587fc46f4feacc2b4df12c667e25..6fad92c885029b1e5fd31cb064bd6eeeb2828915 100644 (file)
 
 #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 */
index bd335c74a657d239666c947c6ff8a8eef7d092fb..f63711d71890c7a689ba4e85671148ed1714a14f 100644 (file)
@@ -89,9 +89,9 @@ extern char** _argv;
 /* imports from runtime dll of the above variables */
 #ifdef __MSVCRT__
 
-extern int*     __p___argc(void);
-extern char***   __p___argv(void);
-extern wchar_t***   __p___wargv(void);
+extern int*  __cdecl   __p___argc(void);
+extern char*** __cdecl  __p___argv(void);
+extern wchar_t***  __cdecl __p___wargv(void);
 
 #define __argc (*__p___argc())
 #define __argv (*__p___argv())
@@ -149,10 +149,10 @@ __MINGW_IMPORT char**  __argv_dll;
 #undef errno
 extern int errno;
 #else
-int*   _errno(void);
+ _CRTIMP int* __cdecl  _errno(void);
 #define        errno           (*_errno())
 #endif
-int*   __doserrno(void);
+ _CRTIMP int* __cdecl  __doserrno(void);
 #define        _doserrno       (*__doserrno())
 
 /*
@@ -160,8 +160,8 @@ int*        __doserrno(void);
  */
 
 #ifdef __MSVCRT__
-  extern char *** __p__environ(void);
-  extern wchar_t *** __p__wenviron(void);
+  extern _CRTIMP char *** __cdecl __p__environ(void);
+  extern _CRTIMP wchar_t *** __cdecl  __p__wenviron(void);
 # define _environ (*__p__environ())
 # define _wenviron (*__p__wenviron())
 #else /* ! __MSVCRT__ */
@@ -221,10 +221,10 @@ __MINGW_IMPORT char*      _sys_errlist[];
 #ifdef __MSVCRT__
 /* msvcrtxx.dll */
 
-extern unsigned int*   __p__osver(void);
-extern unsigned int*   __p__winver(void);
-extern unsigned int*   __p__winmajor(void);
-extern unsigned int*   __p__winminor(void);
+extern _CRTIMP unsigned __cdecl int*   __p__osver(void);
+extern _CRTIMP unsigned __cdecl int*   __p__winver(void);
+extern _CRTIMP unsigned __cdecl int*   __p__winmajor(void);
+extern _CRTIMP unsigned __cdecl int*   __p__winminor(void);
 
 #ifndef __DECLSPEC_SUPPORTED
 # define _osver                (*__p__osver())
@@ -272,9 +272,9 @@ __MINGW_IMPORT unsigned int _winminor_dll;
 #if defined  __MSVCRT__
 /* although the _pgmptr is exported as DATA,
  * be safe and use the access function __p__pgmptr() to get it. */
-char**  __p__pgmptr(void);
+_CRTIMP char** __cdecl __p__pgmptr(void);
 #define _pgmptr     (*__p__pgmptr())
-wchar_t**  __p__wpgmptr(void);
+_CRTIMP wchar_t** __cdecl __p__wpgmptr(void);
 #define _wpgmptr    (*__p__wpgmptr())
 #else /* ! __MSVCRT__ */
 # ifndef __DECLSPEC_SUPPORTED
@@ -321,65 +321,67 @@ __MINGW_IMPORT  int _fmode_dll;
 #define        _ATTRIB_NORETURN
 #endif /* __GNUC__ */
 
-double atof    (const char*);
-int    atoi    (const char*);
-long   atol    (const char*);
-int    _wtoi (const wchar_t *);
-long _wtol (const wchar_t *);
+_CRTIMP double __cdecl atof    (const char*);
+_CRTIMP int __cdecl    atoi    (const char*);
+_CRTIMP long __cdecl   atol    (const char*);
+_CRTIMP int __cdecl    _wtoi (const wchar_t *);
+_CRTIMP long __cdecl _wtol (const wchar_t *);
 
-double strtod  (const char*, char**);
-#if !defined __NO_ISOCEXT  /* extern stubs in static libmingwex.a */
-extern __inline__ float strtof (const char *nptr, char **endptr)
+_CRTIMP double __cdecl strtod  (const char*, char**);
+#if !defined __NO_ISOCEXT  /* extern stub in static libmingwex.a */
+extern __inline__ float __cdecl strtof (const char *nptr, char **endptr)
   { return (strtod (nptr, endptr));}
-long double strtold (const char * __restrict__, char ** __restrict__);
+long double __cdecl strtold (const char * __restrict__, char ** __restrict__);
 #endif /* __NO_ISOCEXT */
 
-long   strtol  (const char*, char**, int);
-unsigned long  strtoul (const char*, char**, int);
+_CRTIMP long __cdecl   strtol  (const char*, char**, int);
+_CRTIMP unsigned long __cdecl  strtoul (const char*, char**, int);
 
 #ifndef _WSTDLIB_DEFINED
 /*  also declared in wchar.h */
-double wcstod  (const wchar_t*, wchar_t**);
+_CRTIMP double __cdecl wcstod  (const wchar_t*, wchar_t**);
 #if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
-extern __inline__ float wcstof( const wchar_t *nptr, wchar_t **endptr)
+extern __inline__ float __cdecl wcstof( const wchar_t *nptr, wchar_t **endptr)
 {  return (wcstod(nptr, endptr)); }
-long double wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
+long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
 #endif /* __NO_ISOCEXT */
 
-long   wcstol  (const wchar_t*, wchar_t**, int);
-unsigned long  wcstoul (const wchar_t*, wchar_t**, int);
+_CRTIMP long __cdecl   wcstol  (const wchar_t*, wchar_t**, int);
+_CRTIMP unsigned long __cdecl  wcstoul (const wchar_t*, wchar_t**, int);
 #define _WSTDLIB_DEFINED
 #endif
 
-size_t wcstombs        (char*, const wchar_t*, size_t);
-int    wctomb          (char*, wchar_t);
+_CRTIMP size_t __cdecl wcstombs        (char*, const wchar_t*, size_t);
+_CRTIMP int __cdecl    wctomb          (char*, wchar_t);
 
-int    mblen           (const char*, size_t);
-size_t mbstowcs        (wchar_t*, const char*, size_t);
-int    mbtowc          (wchar_t*, const char*, size_t);
+_CRTIMP int __cdecl    mblen           (const char*, size_t);
+_CRTIMP size_t __cdecl mbstowcs        (wchar_t*, const char*, size_t);
+_CRTIMP int __cdecl    mbtowc          (wchar_t*, const char*, size_t);
 
-int    rand    (void);
-void   srand   (unsigned int);
+_CRTIMP int __cdecl    rand    (void);
+_CRTIMP void __cdecl   srand   (unsigned int);
 
-void*  calloc  (size_t, size_t);
-void*  malloc  (size_t);
-void*  realloc (void*, size_t);
-void   free    (void*);
+_CRTIMP void* __cdecl  calloc  (size_t, size_t);
+_CRTIMP void* __cdecl  malloc  (size_t);
+_CRTIMP void* __cdecl  realloc (void*, size_t);
+_CRTIMP void __cdecl   free    (void*);
 
-void   abort   (void) _ATTRIB_NORETURN;
-void   exit    (int) _ATTRIB_NORETURN;
-int    atexit  (void (*)(void));
+_CRTIMP void __cdecl   abort   (void) _ATTRIB_NORETURN;
+_CRTIMP void __cdecl   exit    (int) _ATTRIB_NORETURN;
 
-int    system  (const char*);
-char*  getenv  (const char*);
+/* Note: This in startup code, not imported directly from dll */
+int __cdecl    atexit  (void (*)(void));
 
-void*  bsearch (const void*, const void*, size_t, size_t, 
-                 int (*)(const void*, const void*));
-void   qsort   (const void*, size_t, size_t,
-                 int (*)(const void*, const void*));
+_CRTIMP int __cdecl    system  (const char*);
+_CRTIMP char* __cdecl  getenv  (const char*);
 
-int    abs     (int);
-long   labs    (long);
+_CRTIMP void* __cdecl  bsearch (const void*, const void*, size_t, size_t, 
+                                int (*)(const void*, const void*));
+_CRTIMP void __cdecl   qsort   (const void*, size_t, size_t,
+                                int (*)(const void*, const void*));
+
+_CRTIMP int __cdecl    abs     (int);
+_CRTIMP long __cdecl   labs    (long);
 
 /*
  * div_t and ldiv_t are structures used to return the results of div and
@@ -392,8 +394,8 @@ long        labs    (long);
 typedef struct { int quot, rem; } div_t;
 typedef struct { long quot, rem; } ldiv_t;
 
-div_t  div     (int, int);
-ldiv_t ldiv    (long, long);
+_CRTIMP div_t __cdecl  div     (int, int);
+_CRTIMP ldiv_t __cdecl ldiv    (long, long);
 
 #ifndef        __STRICT_ANSI__
 
@@ -401,74 +403,75 @@ ldiv_t    ldiv    (long, long);
  * NOTE: Officially the three following functions are obsolete. The Win32 API
  *       functions SetErrorMode, Beep and Sleep are their replacements.
  */
-void   _beep (unsigned int, unsigned int);
-void   _seterrormode (int);
-void   _sleep (unsigned long);
+_CRTIMP void __cdecl   _beep (unsigned int, unsigned int);
+_CRTIMP void __cdecl   _seterrormode (int);
+_CRTIMP void __cdecl   _sleep (unsigned long);
 
-void   _exit   (int) _ATTRIB_NORETURN;
+_CRTIMP void __cdecl   _exit   (int) _ATTRIB_NORETURN;
 #if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */
 /* C99 function name */
-void _Exit(int) _ATTRIB_NORETURN; /* Declare to get noreturn attribute.  */
-extern __inline__ void _Exit(int status)
+void __cdecl _Exit(int) _ATTRIB_NORETURN; /* Declare to get noreturn attribute.  */
+extern __inline__ void __cdecl _Exit(int status)
        {  _exit(status); }
 #endif
 /* _onexit is MS extension. Use atexit for portability.  */
+/* Note: This is in startup code, not imported directly from dll */
 typedef  int (* _onexit_t)(void);
-_onexit_t _onexit( _onexit_t );
+_onexit_t __cdecl _onexit( _onexit_t );
 
-int    _putenv (const char*);
-void   _searchenv (const char*, const char*, char*);
+_CRTIMP int __cdecl    _putenv (const char*);
+_CRTIMP void __cdecl   _searchenv (const char*, const char*, char*);
 
 
-char*  _ecvt (double, int, int*, int*);
-char*  _fcvt (double, int, int*, int*);
-char*  _gcvt (double, int, char*);
+_CRTIMP char* __cdecl  _ecvt (double, int, int*, int*);
+_CRTIMP char* __cdecl  _fcvt (double, int, int*, int*);
+_CRTIMP char* __cdecl  _gcvt (double, int, char*);
 
-void   _makepath (char*, const char*, const char*, const char*, const char*);
-void   _splitpath (const char*, char*, char*, char*, char*);
-char*  _fullpath (char*, const char*, size_t);
+_CRTIMP void __cdecl   _makepath (char*, const char*, const char*, const char*, const char*);
+_CRTIMP void __cdecl   _splitpath (const char*, char*, char*, char*, char*);
+_CRTIMP char* __cdecl  _fullpath (char*, const char*, size_t);
 
 
-char*  _itoa (int, char*, int);
-char*  _ltoa (long, char*, int);
-char*   _ultoa(unsigned long, char*, int);
-wchar_t*  _itow (int, wchar_t*, int);
-wchar_t*  _ltow (long, wchar_t*, int);
-wchar_t*  _ultow (unsigned long, wchar_t*, int);
+_CRTIMP char* __cdecl  _itoa (int, char*, int);
+_CRTIMP char* __cdecl  _ltoa (long, char*, int);
+_CRTIMP char* __cdecl   _ultoa(unsigned long, char*, int);
+_CRTIMP wchar_t* __cdecl  _itow (int, wchar_t*, int);
+_CRTIMP wchar_t* __cdecl  _ltow (long, wchar_t*, int);
+_CRTIMP wchar_t* __cdecl  _ultow (unsigned long, wchar_t*, int);
 
 #ifdef __MSVCRT__
-__int64        _atoi64(const char *);
-char*  _i64toa(__int64, char *, int);
-char*  _ui64toa(unsigned __int64, char *, int);
-__int64        _wtoi64(const wchar_t *);
-wchar_t* _i64tow(__int64, wchar_t *, int);
-wchar_t* _ui64tow(unsigned __int64, wchar_t *, int);
-
-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);
-
-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 __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);
+
+_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);
+
+_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__)  */
 
index 7647c29c8e6fdbf50c93f2a3c63317fa784fbdf5..9f6b2bfbf7e45609c347db1b6d272fda179a40b4 100644 (file)
@@ -49,52 +49,52 @@ extern "C" {
 /*
  * Prototypes of the ANSI Standard C library string functions.
  */
-void*  memchr (const void*, int, size_t);
-int    memcmp (const void*, const void*, size_t);
-void*  memcpy (void*, const void*, size_t);
-void*  memmove (void*, const void*, size_t);
-void*  memset (void*, int, size_t);
-char*  strcat (char*, const char*);
-char*  strchr (const char*, int);
-int    strcmp (const char*, const char*);
-int    strcoll (const char*, const char*);     /* Compare using locale */
-char*  strcpy (char*, const char*);
-size_t strcspn (const char*, const char*);
-char*  strerror (int); /* NOTE: NOT an old name wrapper. */
-
-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 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. */
+
+_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 */
index 1620b06841a2a1a4b391ef3d911bbcc9badada62..f851c25f4fe0effe3e65a43c3ae95e5ff88e2651 100644 (file)
@@ -154,16 +154,16 @@ struct _stati64 {
 extern "C" {
 #endif
 
-int    _fstat (int, struct _stat*);
-int    _chmod (const char*, int);
-int    _stat (const char*, struct _stat*);
+_CRTIMP int __cdecl    _fstat (int, struct _stat*);
+_CRTIMP int __cdecl    _chmod (const char*, int);
+_CRTIMP int __cdecl    _stat (const char*, struct _stat*);
 
 #if defined (__MSVCRT__)
-int  _fstati64(int, struct _stati64 *);
-int  _stati64(const char *, struct _stati64 *);
+_CRTIMP int __cdecl  _fstati64(int, struct _stati64 *);
+_CRTIMP int __cdecl  _stati64(const char *, struct _stati64 *);
 #if !defined ( _WSTAT_DEFINED) /* also declared in wchar.h */
-int    _wstat(const wchar_t*, struct _stat*);
-int    _wstati64 (const wchar_t*, struct _stati64*);
+_CRTIMP int __cdecl    _wstat(const wchar_t*, struct _stat*);
+_CRTIMP int __cdecl    _wstati64 (const wchar_t*, struct _stati64*);
 #define _WSTAT_DEFINED
 #endif /* _WSTAT_DEFIND */
 #endif /* __MSVCRT__ */
@@ -171,9 +171,9 @@ int _wstati64 (const wchar_t*, struct _stati64*);
 #ifndef        _NO_OLDNAMES
 
 /* These functions live in liboldnames.a. */
-int    fstat (int, struct stat*);
-int    chmod (const char*, int);
-int    stat (const char*, struct stat*);
+_CRTIMP int __cdecl    fstat (int, struct stat*);
+_CRTIMP int __cdecl    chmod (const char*, int);
+_CRTIMP int __cdecl    stat (const char*, struct stat*);
 
 #endif /* Not _NO_OLDNAMES */
 
index 2011162754c20bf3dc75405fc9fe489c2e1621cc..16b4dc0a4f10d9e03385fb8abf22e24f0f43084a 100644 (file)
@@ -64,10 +64,10 @@ extern "C" {
 #endif
 
 /* TODO: Not tested. */
-void   _ftime (struct _timeb*);
+_CRTIMP void __cdecl   _ftime (struct _timeb*);
 
 #ifndef        _NO_OLDNAMES
-void   ftime (struct timeb*);
+_CRTIMP void __cdecl   ftime (struct timeb*);
 #endif /* Not _NO_OLDNAMES */
 
 #ifdef __cplusplus
index 7c907f32a3273b50040d5a5c208c1002e30fb482..1ddeabafa6d3bdfe4336baf4aec555323f4634ac 100644 (file)
@@ -65,16 +65,16 @@ struct utimbuf
 extern "C" {
 #endif
 
-int    _utime (const char*, struct _utimbuf*);
-int    _futime (int, struct _utimbuf*);
+_CRTIMP int __cdecl    _utime (const char*, struct _utimbuf*);
+_CRTIMP int __cdecl    _futime (int, struct _utimbuf*);
 
 /* The wide character version, only available for MSVCRT versions of the
  * C runtime library. */
 #ifdef __MSVCRT__
-int    _wutime (const wchar_t*, struct _utimbuf*);
+_CRTIMP int __cdecl    _wutime (const wchar_t*, struct _utimbuf*);
 #endif /* MSVCRT runtime */
 #ifndef        _NO_OLDNAMES
-int    utime (const char*, struct utimbuf*);
+_CRTIMP int __cdecl    utime (const char*, struct utimbuf*);
 #endif /* Not _NO_OLDNAMES */
 
 #ifdef __cplusplus
index 6d15c2f8914b71bfcd96236f151884e42f51e5ca..0b8ef01f3c6b21a33064be4cf4b44ec7aea06060 100644 (file)
@@ -93,10 +93,10 @@ struct tm
 extern "C" {
 #endif
 
-clock_t        clock (void);
-time_t time (time_t*);
-double difftime (time_t, time_t);
-time_t mktime (struct tm*);
+_CRTIMP clock_t __cdecl        clock (void);
+_CRTIMP time_t __cdecl time (time_t*);
+_CRTIMP double __cdecl difftime (time_t, time_t);
+_CRTIMP time_t __cdecl mktime (struct tm*);
 
 /*
  * These functions write to and return pointers to static buffers that may
@@ -108,26 +108,26 @@ time_t    mktime (struct tm*);
  * Fault and crap out your program. Guess how I know. Hint: stat called on
  * a directory gives 'invalid' times in st_atime etc...
  */
-char*          asctime (const struct tm*);
-char*          ctime (const time_t*);
-struct tm*     gmtime (const time_t*);
-struct tm*     localtime (const time_t*);
+_CRTIMP char* __cdecl          asctime (const struct tm*);
+_CRTIMP char* __cdecl          ctime (const time_t*);
+_CRTIMP struct tm*  __cdecl    gmtime (const time_t*);
+_CRTIMP struct tm*  __cdecl    localtime (const time_t*);
 
 
-size_t strftime (char*, size_t, const char*, const struct tm*);
+_CRTIMP size_t __cdecl strftime (char*, size_t, const char*, const struct tm*);
 
-size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
+_CRTIMP size_t __cdecl wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
 
 #ifndef __STRICT_ANSI__
-extern void    _tzset (void);
+extern _CRTIMP void __cdecl    _tzset (void);
 
 #ifndef _NO_OLDNAMES
-extern void    tzset (void);
+extern _CRTIMP void __cdecl    tzset (void);
 #endif
 
-size_t strftime(char*, size_t, const char*, const struct tm*);
-char*  _strdate(char*);
-char*  _strtime(char*);
+_CRTIMP size_t __cdecl strftime(char*, size_t, const char*, const struct tm*);
+_CRTIMP char* __cdecl  _strdate(char*);
+_CRTIMP char* __cdecl  _strtime(char*);
 
 #endif /* Not __STRICT_ANSI__ */
 
@@ -140,9 +140,9 @@ char*       _strtime(char*);
 #ifdef __MSVCRT__
 
 /* These are for compatibility with pre-VC 5.0 suppied MSVCRT. */
-extern int*    __p__daylight (void);
-extern long*   __p__timezone (void);
-extern char**  __p__tzname (void);
+extern _CRTIMP int* __cdecl    __p__daylight (void);
+extern _CRTIMP long* __cdecl   __p__timezone (void);
+extern _CRTIMP char** __cdecl  __p__tzname (void);
 
 __MINGW_IMPORT int     _daylight;
 __MINGW_IMPORT long    _timezone;
@@ -186,10 +186,10 @@ __MINGW_IMPORT char       *tzname[2];
 
 /* wide function prototypes, also declared in wchar.h */
 
-wchar_t *      _wasctime(const struct tm*);
-wchar_t *      _wctime(const time_t*);
-wchar_t*       _wstrdate(wchar_t*);
-wchar_t*       _wstrtime(wchar_t*);
+_CRTIMP wchar_t* __cdecl       _wasctime(const struct tm*);
+_CRTIMP wchar_t* __cdecl       _wctime(const time_t*);
+_CRTIMP wchar_t* __cdecl       _wstrdate(wchar_t*);
+_CRTIMP wchar_t* __cdecl       _wstrtime(wchar_t*);
 
 #define _WTIME_DEFINED
 #endif /* _WTIME_DEFINED */ 
index 3c3fa293134e76f6f8b842f98958fca45aa8c6a7..90bb82726d1f54f6c690ca4986d8b0a887697907 100644 (file)
@@ -85,65 +85,65 @@ struct _wfinddatai64_t {
    applies to other wide character versions? */
 #if !defined (_WIO_DEFINED)
 #if defined (__MSVCRT__)
-int     _waccess (const wchar_t*, int);
-int    _wchmod (const wchar_t*, int);
-int    _wcreat (const wchar_t*, int);
-long   _wfindfirst (const wchar_t*, struct _wfinddata_t *);
-int    _wfindnext (long, struct _wfinddata_t *);
-int    _wunlink (const wchar_t*);
-int    _wopen (const wchar_t*, int, ...);
-int    _wsopen (const wchar_t*, int, int, ...);
-wchar_t* _wmktemp (wchar_t*);
-long   _wfindfirsti64 (const wchar_t*, struct _wfinddatai64_t*);
-int    _wfindnexti64 (long, struct _wfinddatai64_t*);
+_CRTIMP int __cdecl     _waccess (const wchar_t*, int);
+_CRTIMP int __cdecl    _wchmod (const wchar_t*, int);
+_CRTIMP int __cdecl    _wcreat (const wchar_t*, int);
+_CRTIMP long __cdecl   _wfindfirst (const wchar_t*, struct _wfinddata_t *);
+_CRTIMP int __cdecl    _wfindnext (long, struct _wfinddata_t *);
+_CRTIMP int __cdecl    _wunlink (const wchar_t*);
+_CRTIMP int __cdecl    _wopen (const wchar_t*, int, ...);
+_CRTIMP int __cdecl    _wsopen (const wchar_t*, int, int, ...);
+_CRTIMP wchar_t* __cdecl _wmktemp (wchar_t*);
+_CRTIMP long __cdecl   _wfindfirsti64 (const wchar_t*, struct _wfinddatai64_t*);
+_CRTIMP int __cdecl    _wfindnexti64 (long, struct _wfinddatai64_t*);
 #endif /* defined (__MSVCRT__) */
 #define _WIO_DEFINED
 #endif /* _WIO_DEFINED */
 
 #ifndef _WSTDIO_DEFINED
 /* also in stdio.h - keep in sync */
-int    fwprintf (FILE*, const wchar_t*, ...);
-int    wprintf (const wchar_t*, ...);
-int    swprintf (wchar_t*, const wchar_t*, ...);
-int    _snwprintf (wchar_t*, size_t, const wchar_t*, ...);
-int    vfwprintf (FILE*, const wchar_t*, va_list);
-int    vwprintf (const wchar_t*, va_list);
-int    vswprintf (wchar_t*, const wchar_t*, va_list);
-int    _vsnwprintf (wchar_t*, size_t, const wchar_t*, va_list);
-int    fwscanf (FILE*, const wchar_t*, ...);
-int    wscanf (const wchar_t*, ...);
-int    swscanf (const wchar_t*, const wchar_t*, ...);
-wint_t fgetwc (FILE*);
-wint_t fputwc (wchar_t, FILE*);
-wint_t ungetwc (wchar_t, FILE*);
+_CRTIMP int __cdecl    fwprintf (FILE*, const wchar_t*, ...);
+_CRTIMP int __cdecl    wprintf (const wchar_t*, ...);
+_CRTIMP int __cdecl    swprintf (wchar_t*, const wchar_t*, ...);
+_CRTIMP int __cdecl    _snwprintf (wchar_t*, size_t, const wchar_t*, ...);
+_CRTIMP int __cdecl    vfwprintf (FILE*, const wchar_t*, __VA_LIST);
+_CRTIMP int __cdecl    vwprintf (const wchar_t*, __VA_LIST);
+_CRTIMP int __cdecl    vswprintf (wchar_t*, const wchar_t*, __VA_LIST);
+_CRTIMP int __cdecl    _vsnwprintf (wchar_t*, size_t, const wchar_t*, __VA_LIST);
+_CRTIMP int __cdecl    fwscanf (FILE*, const wchar_t*, ...);
+_CRTIMP int __cdecl    wscanf (const wchar_t*, ...);
+_CRTIMP int __cdecl    swscanf (const wchar_t*, const wchar_t*, ...);
+_CRTIMP wint_t __cdecl fgetwc (FILE*);
+_CRTIMP wint_t __cdecl fputwc (wchar_t, FILE*);
+_CRTIMP wint_t __cdecl ungetwc (wchar_t, FILE*);
 
 #ifndef __NO_ISOCEXT  /* externs in libmingwex.a */
-int snwprintf(wchar_t* s, size_t n, const wchar_t*  format, ...);
-extern __inline__ int vsnwprintf (wchar_t* s, size_t n, const wchar_t* format,
-                          va_list arg)
+int __cdecl snwprintf(wchar_t* s, size_t n, const wchar_t*  format, ...);
+extern __inline__ int __cdecl vsnwprintf (wchar_t* s, size_t n, const wchar_t* format,
+                          __VA_LIST arg)
   { return _vsnwprintf ( s, n, format, arg); }
 #endif
 
 #ifdef __MSVCRT__ 
-wchar_t* fgetws (wchar_t*, int, FILE*);
-int    fputws (const wchar_t*, FILE*);
-wint_t getwc (FILE*);
-wint_t  getwchar (void);
-wchar_t* _getws (wchar_t*);
-wint_t putwc (wint_t, FILE*);
-int    _putws (const wchar_t*);
-wint_t putwchar (wint_t);
-FILE*  _wfdopen(int, wchar_t *);
-FILE*  _wfopen (const wchar_t*, const wchar_t*);
-FILE*  _wfreopen (const wchar_t*, const wchar_t*, FILE*);
-FILE*   _wfsopen (const wchar_t*, const wchar_t*, int);
-wchar_t* _wtmpnam (wchar_t*);
-wchar_t* _wtempnam (const wchar_t*, const wchar_t*);
-int    _wrename (const wchar_t*, const wchar_t*);
-int    _wremove (const wchar_t*)
-
-FILE*    _wpopen (const wchar_t*, const wchar_t*)
-void     _wperror (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 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 */
 
 
index 858981b6937287ded96218482be6dd27f52eb0b2..2f7a62e1c9c7cc39ac04bbce415632682f4fd8ff 100644 (file)
@@ -64,25 +64,25 @@ typedef wchar_t wctype_t;
 #endif
 
 /* Wide character equivalents - also in ctype.h */
-int    iswalnum(wint_t);
-int    iswalpha(wint_t);
-int    iswascii(wint_t);
-int    iswcntrl(wint_t);
-int    iswctype(wint_t, wctype_t);
-int    is_wctype(wint_t, wctype_t);    /* Obsolete! */
-int    iswdigit(wint_t);
-int    iswgraph(wint_t);
-int    iswlower(wint_t);
-int    iswprint(wint_t);
-int    iswpunct(wint_t);
-int    iswspace(wint_t);
-int    iswupper(wint_t);
-int    iswxdigit(wint_t);
-
-wchar_t        towlower(wchar_t);
-wchar_t        towupper(wchar_t);
-
-int    isleadbyte (int);
+_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);
+
+_CRTIMP wchar_t __cdecl        towlower(wchar_t);
+_CRTIMP wchar_t __cdecl        towupper(wchar_t);
+
+_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
 }
This page took 0.192112 seconds and 5 git commands to generate.