OSDN Git Service

Expose some msvcr80.dll functions.
authordannysmith <dannysmith>
Fri, 26 Jan 2007 08:20:54 +0000 (08:20 +0000)
committerdannysmith <dannysmith>
Fri, 26 Jan 2007 08:20:54 +0000 (08:20 +0000)
* include/stdlib.h (_set_abort_behavior): Add prototype.
(_WRITE_ABORT_MSG, _CALL_REPORTFAULT): Add defines for
_set_abort_behavior mask argument.
(_invalid_parameter_handler): Add typedef.
(_set_invalid_parameter_handler): Add prototype.
* include/stdio.h (_get_printf_count_output): Add prototype.
(_set_printf_count_output): Add prototype.
* msvcrt.def.in (_get_printf_count_output, _set_printf_count_output,
_set_abort_behavior, _set_invalid_parameter_handler): Add stubs.

winsup/mingw/ChangeLog
winsup/mingw/include/stdio.h
winsup/mingw/include/stdlib.h
winsup/mingw/msvcrt.def.in

index 46d26a5..f248a69 100644 (file)
@@ -1,5 +1,19 @@
 2007-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
 
+       Expose some msvcr80.dll functions.
+       * include/stdlib.h (_set_abort_behavior): Add prototype.
+       (_WRITE_ABORT_MSG, _CALL_REPORTFAULT): Add defines for
+       _set_abort_behavior mask argument.
+       (_invalid_parameter_handler): Add typedef.
+       (_set_invalid_parameter_handler): Add prototype.
+       * include/stdio.h (_get_printf_count_output): Add prototype.
+       (_set_printf_count_output): Add prototype.
+       * msvcrt.def.in (_get_printf_count_output,_set_printf_count_output,
+       _set_abort_behavior, _set_invalid_parameter_handler): Add stubs.
+
+
+2007-01-26  Danny Smith  <dannysmith@users.sourceforge.net>
+
        * include/_mingw.h (CRT_INLINE):  Correct typo.
 
 2007-01-24  Danny Smith  <dannysmith@users.sourceforge.net>
index 90c0dd9..1c02eee 100644 (file)
@@ -374,6 +374,11 @@ _CRTIMP int __cdecl        _getmaxstdio(void);
 _CRTIMP int __cdecl    _setmaxstdio(int);
 #endif
 
+#if __MSVCRT_VERSION__ >= 0x800
+_CRTIMP int __cdecl _set_printf_count_output(int);
+_CRTIMP int __cdecl _get_printf_count_output(void);
+#endif
+
 #ifndef _NO_OLDNAMES
 _CRTIMP int __cdecl    fgetchar (void);
 _CRTIMP int __cdecl    fputchar (int);
index c69746d..dd407b1 100644 (file)
@@ -21,6 +21,8 @@
 #include <stddef.h>
 #endif /* RC_INVOKED */
 
+#include <stdint.h> /* For uintptr_t */
+
 /*
  * RAND_MAX is the maximum value that may be returned by rand.
  * The minimum is zero.
@@ -343,7 +345,6 @@ _CRTIMP void* __cdecl       calloc  (size_t, size_t) __MINGW_ATTRIB_MALLOC;
 _CRTIMP void* __cdecl  malloc  (size_t) __MINGW_ATTRIB_MALLOC;
 _CRTIMP void* __cdecl  realloc (void*, size_t);
 _CRTIMP void __cdecl   free    (void*);
-
 _CRTIMP void __cdecl   abort   (void) __MINGW_ATTRIB_NORETURN;
 _CRTIMP void __cdecl   exit    (int) __MINGW_ATTRIB_NORETURN;
 
@@ -439,7 +440,20 @@ _CRTIMP int __cdecl _set_error_mode (int);
 #define _OUT_TO_MSGBOX 2
 #define _REPORT_ERRMODE        3
 
-#endif
+#if __MSVCRT_VERSION__ >= 0x800
+_CRTIMP unsigned int __cdecl _set_abort_behavior (unsigned int, unsigned int);
+/* These masks work with msvcr80.dll version 8.0.50215.44 (a beta release).  */
+#define _WRITE_ABORT_MSG 1
+#define _CALL_REPORTFAULT 2
+
+typedef void (* _invalid_parameter_handler) (const wchar_t *,
+                                            const wchar_t *,
+                                            const wchar_t *,
+                                            unsigned int,
+                                            uintptr_t);
+_invalid_parameter_handler _set_invalid_parameter_handler (_invalid_parameter_handler);
+#endif /* __MSVCRT_VERSION__ >= 0x800 */
+#endif /* __MSVCRT__ */
 
 #ifndef        _NO_OLDNAMES
 
index ac9a92c..0d55b46 100644 (file)
@@ -741,7 +741,7 @@ _wfindfirst64
 _wfindnext64
 _wstat64
 _wutime64
-#if ( __msvcr70__ || __msvcr70d__ ||  __msvcr71__ || __msvcr71d__)
+#if ( __msvcr70__ || __msvcr70d__ ||  __msvcr71__ || __msvcr71d__ || __msvcr80__ || __msvcr80d__)
 ; msvcr70.dll amd later
 __buffer_overrun
 __CxxDetectRethrow
@@ -785,7 +785,7 @@ _wcstoui64
 _wctype
 _wtof
 #endif  /* 7.0 */
-#if  (__msvcr71__ || __msvcr71d__)
+#if  (__msvcr71__ || __msvcr71d__ || __msvcr80__ || __msvcr80d__)
 ; msvcr71.dll
 ___lc_codepage_func
 ___lc_collate_cp_func
@@ -806,4 +806,10 @@ _get_heap_handle
 _set_purecall_handler
 _set_SSE2_enable
 #endif /* 7.1  */
-
+#if ( __msvcr80__ || __msvcr80d__)
+; msvcr80.dll
+_get_printf_count_output
+_set_printf_count_output
+_set_abort_behavior
+_set_invalid_parameter_handler
+#endif /* 8.0 */