This list is closed, nobody may subscribe to it.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(12) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(13) |
Feb
(2) |
Mar
(1) |
Apr
(1) |
May
|
Jun
(38) |
Jul
(10) |
Aug
(70) |
Sep
(63) |
Oct
(61) |
Nov
(41) |
Dec
(28) |
| 2002 |
Jan
(43) |
Feb
(11) |
Mar
(9) |
Apr
(2) |
May
(97) |
Jun
(94) |
Jul
(13) |
Aug
(49) |
Sep
(41) |
Oct
(24) |
Nov
(55) |
Dec
(126) |
| 2003 |
Jan
(90) |
Feb
(75) |
Mar
(32) |
Apr
(24) |
May
(54) |
Jun
(54) |
Jul
(22) |
Aug
(4) |
Sep
(16) |
Oct
(8) |
Nov
(6) |
Dec
(13) |
| 2004 |
Jan
|
Feb
(17) |
Mar
(60) |
Apr
(21) |
May
(12) |
Jun
|
Jul
(13) |
Aug
|
Sep
(29) |
Oct
|
Nov
|
Dec
(2) |
| 2005 |
Jan
(22) |
Feb
(3) |
Mar
(2) |
Apr
(13) |
May
(82) |
Jun
(18) |
Jul
(30) |
Aug
(17) |
Sep
(3) |
Oct
(19) |
Nov
(4) |
Dec
(8) |
| 2006 |
Jan
(1) |
Feb
(6) |
Mar
(2) |
Apr
(40) |
May
|
Jun
(21) |
Jul
(1) |
Aug
(410) |
Sep
(3) |
Oct
|
Nov
(56) |
Dec
(7) |
| 2007 |
Jan
(19) |
Feb
|
Mar
(4) |
Apr
(8) |
May
(19) |
Jun
(6) |
Jul
(4) |
Aug
(6) |
Sep
|
Oct
(4) |
Nov
(3) |
Dec
(2) |
| 2008 |
Jan
(13) |
Feb
(18) |
Mar
(12) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(6) |
Mar
(8) |
Apr
(2) |
May
(2) |
Jun
|
Jul
|
Aug
(2) |
Sep
(11) |
Oct
(13) |
Nov
(17) |
Dec
(6) |
| 2010 |
Jan
(24) |
Feb
(10) |
Mar
(27) |
Apr
(20) |
May
(108) |
Jun
(8) |
Jul
(23) |
Aug
(38) |
Sep
(49) |
Oct
(17) |
Nov
(12) |
Dec
(14) |
| 2011 |
Jan
(17) |
Feb
(7) |
Mar
(28) |
Apr
(8) |
May
(20) |
Jun
(11) |
Jul
(7) |
Aug
(12) |
Sep
(4) |
Oct
(20) |
Nov
(19) |
Dec
(2) |
| 2012 |
Jan
(2) |
Feb
(6) |
Mar
(5) |
Apr
(24) |
May
(5) |
Jun
(4) |
Jul
(6) |
Aug
(18) |
Sep
(38) |
Oct
(26) |
Nov
(12) |
Dec
(6) |
| 2013 |
Jan
(19) |
Feb
(18) |
Mar
(44) |
Apr
(35) |
May
(18) |
Jun
(21) |
Jul
(10) |
Aug
(19) |
Sep
(44) |
Oct
(25) |
Nov
(1) |
Dec
(2) |
| 2014 |
Jan
(8) |
Feb
|
Mar
|
Apr
(5) |
May
(1) |
Jun
(3) |
Jul
|
Aug
(3) |
Sep
|
Oct
(4) |
Nov
(4) |
Dec
(7) |
| 2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(4) |
Jul
(6) |
Aug
(2) |
Sep
(8) |
Oct
(2) |
Nov
(1) |
Dec
(3) |
| 2016 |
Jan
(7) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(9) |
Jun
(4) |
Jul
(20) |
Aug
(4) |
Sep
(7) |
Oct
(6) |
Nov
(9) |
Dec
(2) |
| 2017 |
Jan
(7) |
Feb
(7) |
Mar
(5) |
Apr
|
May
(1) |
Jun
(4) |
Jul
(12) |
Aug
(4) |
Sep
(1) |
Oct
(4) |
Nov
(11) |
Dec
(14) |
| 2018 |
Jan
(3) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
1
|
2
|
3
(1) |
4
(1) |
5
|
6
|
7
|
|
8
|
9
|
10
|
11
|
12
(1) |
13
|
14
|
|
15
|
16
|
17
|
18
|
19
(2) |
20
|
21
|
|
22
|
23
(4) |
24
|
25
|
26
|
27
|
28
|
|
29
|
30
|
31
|
|
|
|
|
|
From: Keith M. <no...@so...> - 2016-05-23 19:09:48
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, cygwin-updates has been deleted
was dd127eb5e64ebcd4152184869be7fdaa203444eb
-----------------------------------------------------------------------
dd127eb5e64ebcd4152184869be7fdaa203444eb Extend visibility of winsock definitions when building Cygwin.
-----------------------------------------------------------------------
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-05-23 19:07:36
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-active has been created
at c9fb9cb929b74c25ea239d4c35591b774f63ec99 (commit)
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/c9fb9cb929b74c25ea239d4c35591b774f63ec99/
commit c9fb9cb929b74c25ea239d4c35591b774f63ec99
Merge: de06d12 d1d4a17
Author: Keith Marshall <kei...@us...>
Date: Mon May 23 20:02:11 2016 +0100
Merge updates from legacy branch to 5.0-active.
diff --cc w32api/ChangeLog
index 97493c3,5e47c0e..1023660
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@@ -1,22 -1,26 +1,45 @@@
+ 2016-05-23 Keith Marshall <kei...@us...>
+
+ Merge W32API updates, from Cygwin CVS, into legacy branch.
+ Incorporate changes since release of w32api-3.17, until 2012-07-06.
+
+ * include/shobjidl.h lib/shobjidl-uuid.c: New files, added per LRN's
+ 2012-04-28 commit to Cygwin CVS.
+
+ * include/gdiplus/gdiplustypes.h include/imagehlp.h
+ * include/routprot.h include/shlwapi.h include/userenv.h
+ * include/winbase.h include/wincon.h include/windef.h
+ * include/winerror.h include/wingdi.h include/winnt.h
+ * include/winsock.h include/winsock2.h include/winuser.h: Updated to
+ match Cygwin CVS state, as of 2012-07-06.
+
+ * include/wincrypt.h: Updated to remove duplicate manifest constant
+ definitions, as identified per Chris Sutcliffe's 2012-01-03 commit to
+ Cygwin CVS; merge with my 2015-09-29 commit; additionally, remove...
+ (szOID_RSA_emailAddr, szOID_RSA_unstructAddr, szOID_RSA_unstructName)
+ (CRYPT_ARCHIVABLE, CRYPT_NOHASHOID, CRYPT_VERIFYCONTEXT): ...extra
+ copies of these further duplicated definitions, identified during
+ the merging operation.
+
+2016-05-12 Keith Marshall <kei...@us...>
+
+ Synchronize package version management with MinGW Runtime.
+
+ * VERSION.m4: New file; link it to keep in sync with identically named
+ file in top level composite package source directory; it defines...
+ (__VERSION__): ...this new composite package version macro.
+
+ * aclocal.m4: Link it, to keep in sync with identically named files in
+ top level composite source and sibling mingwrt sub-package directories.
+ (__VERSION__): New macro; include VERSION.m4 to define it.
+ (__BUG_REPORT_URL__): New macro; define it.
+
+ * configure.ac (AC_INIT): Assign package version and bug report URL...
+ (__VERSION__, __BUG_REPORT_URL__): ...from these, as defined through
+ automatic inclusion of aclocal.m4
+
+ * Makefile.in (configure): Add dependency on VERSION.m4
+
2016-05-04 Keith Marshall <kei...@us...>
Eliminate redundant <parts/winioctl.h> header.
https://sf.net/p/mingw/mingw-org-wsl/ci/de06d12ddaa37b7639290116a6a7659e6030abf1/
commit de06d12ddaa37b7639290116a6a7659e6030abf1
Merge: eae8d24 c07c0f3
Author: Keith Marshall <kei...@us...>
Date: Sat May 21 07:26:18 2016 +0100
Merge legacy updates into 5.0-active branch.
diff --cc mingwrt/ChangeLog
index a98e578,e2677bd..471a017
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@@ -1,24 -1,25 +1,44 @@@
+ 2016-05-19 Keith Marshall <kei...@us...>
+
+ Occlude unsupported _S_IFBLK feature; resolve issue [#1146].
+
+ * include/sys/stat.h (_MINGW_S_IFBLK_KLUDGE): New feature test macro;
+ do not define it, and strongly recommend that it remains undefined.
+ [!_MINGW_S_IFBLK_KLUDGE] (_S_IFBLK, S_IFBLK): Do not define them.
+ [!_MINGW_S_IFBLK_KLUDGE] (_S_ISBLK, S_ISBLK): Poison them.
+ [_MINGW_S_IFBLK_KLUDGE] (_S_IFBLK, S_IFBLK): Adjust definitions; use a
+ modified value, which is guaranteed to be impossible to match in...
+ [_S_ISBLK, S_ISBLK]: ...these, thus enforcing false test results.
+
+ 2016-05-18 Keith Marshall <kei...@us...>
+
+ Fix a typo in a <sys/stat.h> inline function definition.
+
+ * include/sys/stat.h [__MSVCRT_VERSION__ >= __MSVCR80_DLL]
+ (stat): First argument declared as 'int'; should be 'const char *';
+ correct it.
+
2016-05-12 Keith Marshall <kei...@us...>
+ Synchronize package version management with Win32-API.
+
+ * VERSION.m4: New file; link it to keep in sync with identically named
+ file in top level composite package source directory; it defines...
+ (__VERSION__): ...this new composite package version macro.
+
+ * aclocal.m4: Link it, to keep in sync with identically named files in
+ top level composite source and sibling w32api sub-package directories.
+ (__VERSION__): New macro; include VERSION.m4 to define it.
+ (__BUG_REPORT_URL__): New macro; define it.
+
+ * configure.ac (AC_INIT): Assign package version and bug report URL...
+ (__VERSION__, __BUG_REPORT_URL__): ...from these, as defined through
+ automatic inclusion of aclocal.m4
+
+ * Makefile.in (configure): Add dependency on VERSION.m4
+
+2016-05-12 Keith Marshall <kei...@us...>
+
Resolve some strnlen() implementation issues.
* mingwex/strnlen.s (__mingw_strnlen) [!NUL]: Correct termination
https://sf.net/p/mingw/mingw-org-wsl/ci/eae8d24c7d6a2470aaaedb1d39b6fd07caca6554/
commit eae8d24c7d6a2470aaaedb1d39b6fd07caca6554
Author: Keith Marshall <kei...@us...>
Date: Thu May 12 21:30:07 2016 +0100
Integrate mingwrt and w32api build; synchronize versions.
diff --git a/ChangeLog b/ChangeLog
index 9e0070a..2609825 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2016-05-12 Keith Marshall <kei...@us...>
+
+ Integrate mingwrt and w32api build; synchronize versions.
+
+ * configure.ac Makefile.in: New files.
+
+ * VERSION.m4: New file; link it, to create and maintain an identical
+ copy of it, in each of the mingwrt and w32api sub-package directories.
+ (__VERSION__): New macro; define and initialize it, in preparation
+ for forthcoming integrated version 5.0 release.
+
+ * aclocal.m4: New file; link it, to make it an identical copy of
+ each identically named file, in each of the sub-package directories.
+ (__VERSION__): New macro; include VERSION.m4 to define it.
+ (__BUG_REPORT_URL__): New macro; define it.
+
2014-10-22 Keith Marshall <kei...@us...>
Merge .hgignore from "master" branch to "legacy".
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..3eaf8a1
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,114 @@
+# @configure_input@
+# $Id$
+#
+# Makefile template for MinGW.org composite System Libraries Packages
+
+PACKAGE_TARNAME := @PACKAGE_TARNAME@
+PACKAGE_VERSION := @PACKAGE_VERSION@
+
+# Written by Keith Marshall <kei...@us...>
+# Copyright (C) 2016, MinGW.org Project
+#
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+# DEALINGS IN THE SOFTWARE.
+
+
+# The default target is "all"; declare it early, to avoid any possible
+# inadvertent override from any included file.
+#
+all:
+
+# Configuration
+# -------------
+#
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+
+# Keep the configuration in a consistent state. Note that we assume
+# that configure has been run initially, (otherwise we wouldn't have
+# a Makefile to begin with); since this also creates config.status,
+# we may normally assume that it is already available ...
+#
+vpath configure ${top_srcdir}
+config.status: configure
+ $(SHELL) config.status --recheck
+
+# ... in which case, updating Makefile should be a simple matter of
+# running config.status ...
+#
+vpath Makefile.in ${top_srcdir}
+requires_existing = $(if $(wildcard $1),$1,$1.missing)
+Makefile: Makefile.in configure $(call requires_existing,config.status)
+ $(SHELL) config.status
+
+.PHONY: config.status.missing
+# ... but, in the event that this may be missing, (e.g. because it
+# has been manually removed, or removed by "make distclean"), suggest
+# running configure, and bail out.
+#
+config.status.missing:
+ $(warning *** cannot execute config.status)
+ $(error please run ${top_srcdir}/configure to regenerate it.)
+
+# If configure itself needs to be updated, we must run autoconf in the
+# top level source directory.
+#
+vpath %.m4 ${top_srcdir}
+vpath configure.ac ${top_srcdir}
+configure: configure.ac aclocal.m4 VERSION.m4
+ cd ${top_srcdir}; autoconf
+
+
+# Rules to Build and Install Both Sub-Packages
+# --------------------------------------------
+#
+all install install-headers uninstall: %: %-subdirs
+
+subdirs = @subdirs@
+%-subdirs:; $(foreach dir,${subdirs},$(MAKE) -C ${dir} $*;)
+
+
+# Distribution
+# ------------
+#
+MKDIR_P = @MKDIR_P@
+LN = @LN@
+
+dist: dist-subdirs
+ $(RM) -r $@; $(MKDIR_P) $@
+ for file in $(addsuffix /$@/*,${subdirs}); do \
+ test -f $$file && $(LN) $$file $@; done
+
+
+# Clean-up Rules
+# --------------
+#
+clean mostlyclean distclean: %: %-subdirs
+maintainer-clean: maintainer-clean-warning maintainer-clean-local
+
+maintainer-clean-warning:
+ $(warning $(MAKE) $(@:%-warning=%))
+ $(warning This command should be used by package maintainers only;)
+ $(warning it deletes files which may require special tools to rebuild.)
+
+maintainer-clean-local: %: %-subdirs
+ $(RM) -r ${srcdir}/autom4te.cache
+
+# $RCSfile$: end of file
diff --git a/VERSION.m4 b/VERSION.m4
new file mode 100644
index 0000000..872bc33
--- /dev/null
+++ b/VERSION.m4
@@ -0,0 +1,11 @@
+# VERSION.m4 -- vim: filetype=config
+#
+# $Id$
+#
+# Non-copyrightable material; adjust the following definition, to
+# assign a common version number to each of the mingwrt and w32api
+# MinGW System Library sub-packages.
+
+m4_define([__VERSION__],[5.0])
+
+# $RCSfile$: end of file
diff --git a/w32api/aclocal.m4 b/aclocal.m4
similarity index 97%
copy from w32api/aclocal.m4
copy to aclocal.m4
index bcbded3..acdf9fa 100644
--- a/w32api/aclocal.m4
+++ b/aclocal.m4
@@ -5,7 +5,11 @@
## $Id$
##
## Written by Keith Marshall <kei...@us...>
-## Copyright (C) 2014, MinGW.org Project
+## Copyright (C) 2014, 2016, MinGW.org Project
+##
+##
+m4_include([VERSION.m4])
+m4_define([__BUG_REPORT_URL__],[http://mingw.org/Reporting_Bugs])
##
##
## Permission is hereby granted, free of charge, to any person obtaining a
@@ -14,11 +18,11 @@
## the rights to use, copy, modify, merge, publish, distribute, sublicense,
## and/or sell copies of the Software, and to permit persons to whom the
## Software is furnished to do so, subject to the following conditions:
-##
+##
## The above copyright notice and this permission notice (including the next
## paragraph) shall be included in all copies or substantial portions of the
## Software.
-##
+##
## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
## OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -115,7 +119,7 @@ AC_DEFUN_ONCE([MINGW_AC_DISABLE_STAGE_2],
# default prefer to build, if possible. Propagate the resolved
# choice as a default make command goal, by assignment to the
# AC_SUBST variable, DEFAULT_MAKECMDGOALS.
-#
+#
AC_DEFUN_ONCE([MINGW_AC_MAKE_COMMAND_GOALS],
[AC_REQUIRE([MINGW_AC_DISABLE_STAGE_2])dnl
AC_REQUIRE([MINGW_AC_PROG_CC_COMPILE_ONLY])dnl
diff --git a/w32api/configure.ac b/configure.ac
similarity index 68%
copy from w32api/configure.ac
copy to configure.ac
index c3cc008..193b7c9 100644
--- a/w32api/configure.ac
+++ b/configure.ac
@@ -1,12 +1,12 @@
# configure.ac -*- Autoconf -*- vim: filetype=config
#
# Process this file with autoconf, to create a configure script for
-# the MinGW.org 32-bit MS-Windows API package.
+# the composite MinGW.org Runtime Library and Win32-API packages.
#
# $Id$
#
# Written by Keith Marshall <kei...@us...>
-# Copyright (C) 2015, 2016, MinGW.org Project
+# Copyright (C) 2016, MinGW.org Project
#
#
# Permission is hereby granted, free of charge, to any person obtaining a
@@ -15,11 +15,11 @@
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
-#
+#
# The above copyright notice and this permission notice (including the next
# paragraph) shall be included in all copies or substantial portions of the
# Software.
-#
+#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -29,26 +29,13 @@
# DEALINGS IN THE SOFTWARE.
#
AC_PREREQ([2.64])
- AC_INIT([MinGW Win32 API],[3.18],[http://mingw.org/Reporting_Bugs],[w32api])
-
- AC_PREFIX_DEFAULT([/mingw])
- AC_CONFIG_SRCDIR([include/w32api.h.in])
- MINGW_AC_CONFIG_EXTRA_SRCDIR([mingwrt],[include/_mingw.h.in])
-
- MINGW_AC_PROG_CC_COMPILE_ONLY
-
- AC_CHECK_TOOL([AS],[as],[as])
- AC_CHECK_TOOL([DLLTOOL],[dlltool],[dlltool])
- AC_CHECK_TOOL([STRIP],[strip],[strip])
-
- AC_CHECK_TOOL([AR],[ar],[ar])
- AC_ARG_VAR([ARFLAGS],[ar mode flags for creation of archive libraries [rcs]])
- AC_SUBST([ARFLAGS],[${ARFLAGS-"rcs"}])
- AC_PROG_RANLIB
+ AC_INIT([MinGW System Libraries],[__VERSION__],[__BUG_REPORT_URL__],[wsl])
+ AC_CONFIG_AUX_DIR([mingwrt])
- AC_PROG_INSTALL
AC_PROG_MKDIR_P
+ AC_PATH_PROG([LN],[ln],[ln])
+ AC_CONFIG_SUBDIRS([mingwrt w32api])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
#
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index d9b3edb..a98e578 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,5 +1,24 @@
2016-05-12 Keith Marshall <kei...@us...>
+ Synchronize package version management with Win32-API.
+
+ * VERSION.m4: New file; link it to keep in sync with identically named
+ file in top level composite package source directory; it defines...
+ (__VERSION__): ...this new composite package version macro.
+
+ * aclocal.m4: Link it, to keep in sync with identically named files in
+ top level composite source and sibling w32api sub-package directories.
+ (__VERSION__): New macro; include VERSION.m4 to define it.
+ (__BUG_REPORT_URL__): New macro; define it.
+
+ * configure.ac (AC_INIT): Assign package version and bug report URL...
+ (__VERSION__, __BUG_REPORT_URL__): ...from these, as defined through
+ automatic inclusion of aclocal.m4
+
+ * Makefile.in (configure): Add dependency on VERSION.m4
+
+2016-05-12 Keith Marshall <kei...@us...>
+
Resolve some strnlen() implementation issues.
* mingwex/strnlen.s (__mingw_strnlen) [!NUL]: Correct termination
diff --git a/mingwrt/Makefile.in b/mingwrt/Makefile.in
index d5017f7..bbb0d51 100644
--- a/mingwrt/Makefile.in
+++ b/mingwrt/Makefile.in
@@ -138,7 +138,7 @@ config.status.missing:
#
vpath %.m4 ${top_srcdir}
vpath configure.ac ${top_srcdir}
-configure: configure.ac aclocal.m4
+configure: configure.ac aclocal.m4 VERSION.m4
cd ${top_srcdir}; autoconf
# Propagate package version, as configured, consistently throughout
diff --git a/mingwrt/VERSION.m4 b/mingwrt/VERSION.m4
new file mode 100644
index 0000000..872bc33
--- /dev/null
+++ b/mingwrt/VERSION.m4
@@ -0,0 +1,11 @@
+# VERSION.m4 -- vim: filetype=config
+#
+# $Id$
+#
+# Non-copyrightable material; adjust the following definition, to
+# assign a common version number to each of the mingwrt and w32api
+# MinGW System Library sub-packages.
+
+m4_define([__VERSION__],[5.0])
+
+# $RCSfile$: end of file
diff --git a/mingwrt/aclocal.m4 b/mingwrt/aclocal.m4
index bcbded3..acdf9fa 100644
--- a/mingwrt/aclocal.m4
+++ b/mingwrt/aclocal.m4
@@ -5,7 +5,11 @@
## $Id$
##
## Written by Keith Marshall <kei...@us...>
-## Copyright (C) 2014, MinGW.org Project
+## Copyright (C) 2014, 2016, MinGW.org Project
+##
+##
+m4_include([VERSION.m4])
+m4_define([__BUG_REPORT_URL__],[http://mingw.org/Reporting_Bugs])
##
##
## Permission is hereby granted, free of charge, to any person obtaining a
@@ -14,11 +18,11 @@
## the rights to use, copy, modify, merge, publish, distribute, sublicense,
## and/or sell copies of the Software, and to permit persons to whom the
## Software is furnished to do so, subject to the following conditions:
-##
+##
## The above copyright notice and this permission notice (including the next
## paragraph) shall be included in all copies or substantial portions of the
## Software.
-##
+##
## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
## OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -115,7 +119,7 @@ AC_DEFUN_ONCE([MINGW_AC_DISABLE_STAGE_2],
# default prefer to build, if possible. Propagate the resolved
# choice as a default make command goal, by assignment to the
# AC_SUBST variable, DEFAULT_MAKECMDGOALS.
-#
+#
AC_DEFUN_ONCE([MINGW_AC_MAKE_COMMAND_GOALS],
[AC_REQUIRE([MINGW_AC_DISABLE_STAGE_2])dnl
AC_REQUIRE([MINGW_AC_PROG_CC_COMPILE_ONLY])dnl
diff --git a/mingwrt/configure.ac b/mingwrt/configure.ac
index 3bc73a4..e9454dc 100644
--- a/mingwrt/configure.ac
+++ b/mingwrt/configure.ac
@@ -29,7 +29,7 @@
# DEALINGS IN THE SOFTWARE.
#
AC_PREREQ([2.64])
- AC_INIT([MinGW C Runtime],[3.21.2],[http://mingw.org/Reporting_Bugs],[mingwrt])
+ AC_INIT([MinGW C Runtime],[__VERSION__],[__BUG_REPORT_URL__],[mingwrt])
AC_PREFIX_DEFAULT([/mingw])
AC_CONFIG_SRCDIR([include/_mingw.h.in])
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index a95157e..97493c3 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,22 @@
+2016-05-12 Keith Marshall <kei...@us...>
+
+ Synchronize package version management with MinGW Runtime.
+
+ * VERSION.m4: New file; link it to keep in sync with identically named
+ file in top level composite package source directory; it defines...
+ (__VERSION__): ...this new composite package version macro.
+
+ * aclocal.m4: Link it, to keep in sync with identically named files in
+ top level composite source and sibling mingwrt sub-package directories.
+ (__VERSION__): New macro; include VERSION.m4 to define it.
+ (__BUG_REPORT_URL__): New macro; define it.
+
+ * configure.ac (AC_INIT): Assign package version and bug report URL...
+ (__VERSION__, __BUG_REPORT_URL__): ...from these, as defined through
+ automatic inclusion of aclocal.m4
+
+ * Makefile.in (configure): Add dependency on VERSION.m4
+
2016-05-04 Keith Marshall <kei...@us...>
Eliminate redundant <parts/winioctl.h> header.
diff --git a/w32api/Makefile.in b/w32api/Makefile.in
index 56c4c73..e51fc58 100644
--- a/w32api/Makefile.in
+++ b/w32api/Makefile.in
@@ -110,7 +110,7 @@ config.status.missing:
#
vpath %.m4 ${top_srcdir}
vpath configure.ac ${top_srcdir}
-configure: configure.ac aclocal.m4
+configure: configure.ac aclocal.m4 VERSION.m4
cd ${top_srcdir}; autoconf
# Propagate package version, as configured, consistently throughout
diff --git a/w32api/VERSION.m4 b/w32api/VERSION.m4
new file mode 100644
index 0000000..872bc33
--- /dev/null
+++ b/w32api/VERSION.m4
@@ -0,0 +1,11 @@
+# VERSION.m4 -- vim: filetype=config
+#
+# $Id$
+#
+# Non-copyrightable material; adjust the following definition, to
+# assign a common version number to each of the mingwrt and w32api
+# MinGW System Library sub-packages.
+
+m4_define([__VERSION__],[5.0])
+
+# $RCSfile$: end of file
diff --git a/w32api/aclocal.m4 b/w32api/aclocal.m4
index bcbded3..acdf9fa 100644
--- a/w32api/aclocal.m4
+++ b/w32api/aclocal.m4
@@ -5,7 +5,11 @@
## $Id$
##
## Written by Keith Marshall <kei...@us...>
-## Copyright (C) 2014, MinGW.org Project
+## Copyright (C) 2014, 2016, MinGW.org Project
+##
+##
+m4_include([VERSION.m4])
+m4_define([__BUG_REPORT_URL__],[http://mingw.org/Reporting_Bugs])
##
##
## Permission is hereby granted, free of charge, to any person obtaining a
@@ -14,11 +18,11 @@
## the rights to use, copy, modify, merge, publish, distribute, sublicense,
## and/or sell copies of the Software, and to permit persons to whom the
## Software is furnished to do so, subject to the following conditions:
-##
+##
## The above copyright notice and this permission notice (including the next
## paragraph) shall be included in all copies or substantial portions of the
## Software.
-##
+##
## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
## OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
## FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -115,7 +119,7 @@ AC_DEFUN_ONCE([MINGW_AC_DISABLE_STAGE_2],
# default prefer to build, if possible. Propagate the resolved
# choice as a default make command goal, by assignment to the
# AC_SUBST variable, DEFAULT_MAKECMDGOALS.
-#
+#
AC_DEFUN_ONCE([MINGW_AC_MAKE_COMMAND_GOALS],
[AC_REQUIRE([MINGW_AC_DISABLE_STAGE_2])dnl
AC_REQUIRE([MINGW_AC_PROG_CC_COMPILE_ONLY])dnl
diff --git a/w32api/configure.ac b/w32api/configure.ac
index c3cc008..a40b1db 100644
--- a/w32api/configure.ac
+++ b/w32api/configure.ac
@@ -29,7 +29,7 @@
# DEALINGS IN THE SOFTWARE.
#
AC_PREREQ([2.64])
- AC_INIT([MinGW Win32 API],[3.18],[http://mingw.org/Reporting_Bugs],[w32api])
+ AC_INIT([MinGW Win32 API],[__VERSION__],[__BUG_REPORT_URL__],[w32api])
AC_PREFIX_DEFAULT([/mingw])
AC_CONFIG_SRCDIR([include/w32api.h.in])
-----------------------------------------------------------------------
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-05-23 19:07:34
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, cygwin-updates has been created
at dd127eb5e64ebcd4152184869be7fdaa203444eb (commit)
- Log -----------------------------------------------------------------
-----------------------------------------------------------------------
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-05-23 18:41:38
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via d1d4a17e51a2b78e252ef0147d483267d56c90cc (commit)
via dd127eb5e64ebcd4152184869be7fdaa203444eb (commit)
via e013b56d6b2f9b5a11c142909e25498c2363069e (commit)
via e79d278f3d6410be6c2af76a388b7678dbb7ff47 (commit)
via 27c84fb1c83aaa4952e43de6bad0110041401465 (commit)
via 17130d01d081cabe08d30446b4cc78290df781ed (commit)
via 49ec628217f75e5d42de952a495d7f6b08d7dd99 (commit)
via a558b6a7ebedde7db8aeafc595825671a7089a9d (commit)
via a2153bcb68a3f72298c1428f5e9399290b66490f (commit)
via 4318e770486fd4332a4cbd10504c3ab1d2f56b6f (commit)
via f29378d79325bc4e91077e73036e24a88417dbab (commit)
via 54440bfb5650ef9331d32a1a33514425b16a941a (commit)
via 1b1f113ec92bc144f2084d45c3062a841bb01754 (commit)
via a7c8ceb0043258f147054b426280840847131675 (commit)
via cc1dc2298032268425bdb5573761a700abc2368d (commit)
via 4e9e6bf29e665259f82d44849dcb0b0c86ce9119 (commit)
via 8f323ed3795af0be0bfc69405f419e93ebde419a (commit)
via 40dc004896743ca4fec52c21fbdf288c11a53d2f (commit)
via a2f134a1bd0e112b026b4994f8518c013cfcfefb (commit)
from c07c0f345bb486b18c59af559ea1a6af4037a2a0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/d1d4a17e51a2b78e252ef0147d483267d56c90cc/
commit d1d4a17e51a2b78e252ef0147d483267d56c90cc
Merge: c07c0f3 dd127eb
Author: Keith Marshall <kei...@us...>
Date: Mon May 23 19:31:09 2016 +0100
Merge W32API updates, from Cygwin CVS, into legacy branch.
diff --cc w32api/ChangeLog
index a95157e,28731aa..5e47c0e
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@@ -1,391 -1,161 +1,572 @@@
++2016-05-23 Keith Marshall <kei...@us...>
++
++ Merge W32API updates, from Cygwin CVS, into legacy branch.
++ Incorporate changes since release of w32api-3.17, until 2012-07-06.
++
++ * include/shobjidl.h lib/shobjidl-uuid.c: New files, added per LRN's
++ 2012-04-28 commit to Cygwin CVS.
++
++ * include/gdiplus/gdiplustypes.h include/imagehlp.h
++ * include/routprot.h include/shlwapi.h include/userenv.h
++ * include/winbase.h include/wincon.h include/windef.h
++ * include/winerror.h include/wingdi.h include/winnt.h
++ * include/winsock.h include/winsock2.h include/winuser.h: Updated to
++ match Cygwin CVS state, as of 2012-07-06.
++
++ * include/wincrypt.h: Updated to remove duplicate manifest constant
++ definitions, as identified per Chris Sutcliffe's 2012-01-03 commit to
++ Cygwin CVS; merge with my 2015-09-29 commit; additionally, remove...
++ (szOID_RSA_emailAddr, szOID_RSA_unstructAddr, szOID_RSA_unstructName)
++ (CRYPT_ARCHIVABLE, CRYPT_NOHASHOID, CRYPT_VERIFYCONTEXT): ...extra
++ copies of these further duplicated definitions, identified during
++ the merging operation.
++
+2016-05-04 Keith Marshall <kei...@us...>
+
+ Eliminate redundant <parts/winioctl.h> header.
+
+ * include/parts/winioctl.h: Delete it; distribute its content...
+ * include/ddk/winddk.h include/ddk/ntddstor.h include/ddk/ntdddisk.h:
+ ...among these, separating it into discrete sections based on...
+ [__need_ddk_winddk_includes, __need_ddk_ntddstor_includes]
+ [__need_ddk_ntdddisk_includes]: ...these selectors, respectively.
+ [__WINIOCTL_H_SOURCED__]: Expose only those sections; do not define...
+ (_DDK_WINDDK_H, _DDK_NTDDSTOR_H, _DDK_NTDDDISK_H): ...these.
+
+ * include/winioctl.h (__WINIOCTL_H_SOURCED__): Define it; include each
+ of <ddk/winddk.h>, <ddk/ntddstor.h>, and <ddk/ntdddisk.h>
+
+2016-05-03 Keith Marshall <kei...@us...>
+
+ Enforce consistent specification of package version.
+
+ * include/w32api.h: Rename as...
+ * include/w32api.h.in: ...this build-time template file.
+ (__W32API_VERSION): Redefine it, in terms of...
+ (%PACKAGE_VERSION_LONG%): ...this substitution template.
+ (__W32API_MAJOR_VERSION, __W32API_MINOR_VERSION)
+ (__W32API_PATCHLEVEL): Likewise, redefine them in terms of...
+ (%PACKAGE_VERSION_MAJOR%, %PACKAGE_VERSION_MINOR%)
+ (%PACKAGE_VERSION_PATCH%): ...these.
+
+ * configure.ac (AC_CONFIG_SRCDIR): Adjust for renamed file.
+ (MINGW_AC_CONFIG_EXTRA_SRCDIR): Likewise, for similarly renamed
+ mingwrt/include/_mingw.h.in file.
+
+ * Makefile.in (all-w32api-libs): Add dependency on...
+ (w32api.h, _mingw.h): ...these; add rule to generate them, using...
+ (PACKAGE_VERSION_SCRIPT, PACKAGE_VERSION_FORMAT): ...these new macros;
+ they apply appropriate substitutions to the renamed template files.
+ (install-w32api-headers): Explicitly add w32api.h
+
+2015-11-14 Keith Marshall <kei...@us...>
+
+ Refactor for Windows DDK synchronization; fix MinGW-Bug [#1954].
+
+ * include/parts/winioctl.h: New file; it provides infrastructure for
+ sharing of common code between DDK headers and primary <winioctl.h>
+ (__IOCTL_STORAGE_, __IOCTL_DISK_, __FILE_RW_ACCESS, __FILE_AM_BUFFERED)
+ (__FILE_RD_BUFFERED, __FILE_RW_BUFFERED): New internal convenience
+ macros; they facilitate more consise expression of factored out IOCTL
+ and FSCTL macros; define them.
+
+ * include/ddk/ntddk.h: Assert copyright; tidy layout.
+ (__NTDDK_H): Multiple inclusion guard macro, renamed to...
+ (_DDK_NTDDK_H): ...this; it provides better indication of location.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+
+ * include/ddk/winddk.h: Assert copyright; tidy layout.
+ (__WINDDK_H): Multiple inclusion guard macro, renamed to...
+ (_DDK_WINDDK_H): ...this; it provides better indication of location.
+ [!defined _DDK_NTDDK_H]: Forbid direct inclusion; emit diagnostic.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+ (METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT)
+ (METHOD_NEITHER): Redefine as enumeration; factor it out.
+ (FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, FILE_READ_ACCESS)
+ (FILE_WRITE_ACCESS): Likewise.
+ (CTL_CODE, DEVICE_TYPE_FROM_CTL_CODE): Factor out.
+ [defined _DRIVE_LAYOUT_INFORMATION_MBR_DEFINED]: Delete guard.
+ (struct _DRIVE_LAYOUT_INFORMATION_MBR, DRIVE_LAYOUT_INFORMATION_MBR)
+ (PDRIVE_LAYOUT_INFORMATION_MBR): Factor out, without guard.
+ (struct _DRIVE_LAYOUT_INFORMATION_GPT, DRIVE_LAYOUT_INFORMATION_GPT)
+ (PDRIVE_LAYOUT_INFORMATION_GPT): Factor out.
+ (struct _PARTITION_INFORMATION_MBR, PARTITION_INFORMATION_MBR)
+ (PPARTITION_INFORMATION_MBR): Likewise.
+ (FILE_DEVICE_BEEP, FILE_DEVICE_CD_ROM, FILE_DEVICE_CD_ROM_FILE_SYSTEM)
+ (FILE_DEVICE_CONTROLLER, FILE_DEVICE_DATALINK, FILE_DEVICE_DFS)
+ (FILE_DEVICE_DISK, FILE_DEVICE_DISK_FILE_SYSTEM)
+ (FILE_DEVICE_FILE_SYSTEM, FILE_DEVICE_INPORT_PORT)
+ (FILE_DEVICE_KEYBOARD, FILE_DEVICE_MAILSLOT, FILE_DEVICE_MIDI_IN)
+ (FILE_DEVICE_MIDI_OUT, FILE_DEVICE_MOUSE)
+ (FILE_DEVICE_MULTI_UNC_PROVIDER, FILE_DEVICE_NAMED_PIPE)
+ (FILE_DEVICE_NETWORK, FILE_DEVICE_NETWORK_BROWSER)
+ (FILE_DEVICE_NETWORK_FILE_SYSTEM, FILE_DEVICE_NULL)
+ (FILE_DEVICE_PARALLEL_PORT, FILE_DEVICE_PHYSICAL_NETCARD)
+ (FILE_DEVICE_PRINTER, FILE_DEVICE_SCANNER)
+ (FILE_DEVICE_SERIAL_MOUSE_PORT, FILE_DEVICE_SERIAL_PORT)
+ (FILE_DEVICE_SCREEN, FILE_DEVICE_SOUND, FILE_DEVICE_STREAMS)
+ (FILE_DEVICE_TAPE, FILE_DEVICE_TAPE_FILE_SYSTEM, FILE_DEVICE_TRANSPORT)
+ (FILE_DEVICE_UNKNOWN, FILE_DEVICE_VIDEO, FILE_DEVICE_VIRTUAL_DISK)
+ (FILE_DEVICE_WAVE_IN, FILE_DEVICE_WAVE_OUT, FILE_DEVICE_8042_PORT)
+ (FILE_DEVICE_NETWORK_REDIRECTOR, FILE_DEVICE_BATTERY)
+ (FILE_DEVICE_BUS_EXTENDER, FILE_DEVICE_MODEM, FILE_DEVICE_VDM)
+ (FILE_DEVICE_MASS_STORAGE, FILE_DEVICE_SMB, FILE_DEVICE_KS)
+ (FILE_DEVICE_CHANGER, FILE_DEVICE_SMARTCARD, FILE_DEVICE_ACPI)
+ (FILE_DEVICE_DVD, FILE_DEVICE_FULLSCREEN_VIDEO)
+ (FILE_DEVICE_DFS_FILE_SYSTEM, FILE_DEVICE_DFS_VOLUME)
+ (FILE_DEVICE_SERENUM, FILE_DEVICE_TERMSRV, FILE_DEVICE_KSEC)
+ (FILE_DEVICE_FIPS): Redefine as enumeration; factor it out.
+ (enum _PARTITION_STYLE, PARTITION_STYLE): Factor out; add...
+ (PARTITION_STYLE_RAW): ...this new enumeration state; previously, it
+ was defined only when including this enumeration from winioctl.h
+ (struct _CREATE_DISK_MBR, CREATE_DISK_MBR, PCREATE_DISK_MBR)
+ (struct _CREATE_DISK_GPT, CREATE_DISK_GPT, PCREATE_DISK_GPT)
+ (struct _CREATE_DISK, CREATE_DISK, PCREATE_DISK): Factor out;
+ include parts/winioctl.h
+
+ * include/ddk/ntddstor.h: Assert copyright; tidy layout.
+ (__NTDDSTOR_H): Multiple inclusion guard macro, renamed to...
+ (_DDK_NTDDSTOR_H): ...this; to provide better indication of location.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+ (struct _STORAGE_BUS_TYPE, STORAGE_BUS_TYPE, PSTORAGE_BUS_TYPE)
+ (IOCTL_STORAGE_BASE, IOCTL_STORAGE_RESERVE, IOCTL_STORAGE_RELEASE)
+ (IOCTL_STORAGE_CHECK_VERIFY, IOCTL_STORAGE_CHECK_VERIFY2)
+ (IOCTL_STORAGE_MEDIA_REMOVAL, IOCTL_STORAGE_EJECT_MEDIA)
+ (IOCTL_STORAGE_LOAD_MEDIA, IOCTL_STORAGE_LOAD_MEDIA2)
+ (IOCTL_STORAGE_EJECTION_CONTROL, IOCTL_STORAGE_FIND_NEW_DEVICES)
+ (IOCTL_STORAGE_GET_MEDIA_TYPES, IOCTL_STORAGE_GET_MEDIA_TYPES_EX)
+ (IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER, IOCTL_STORAGE_PREDICT_FAILURE)
+ (IOCTL_STORAGE_QUERY_PROPERTY, IOCTL_STORAGE_GET_DEVICE_NUMBER)
+ (IOCTL_STORAGE_RESET_BUS, IOCTL_STORAGE_RESET_DEVICE)
+ (IOCTL_STORAGE_MCN_CONTROL): Factor out; include parts/winioctl.h
+
+ * include/ddk/ntdddisk.h: Assert copyright; tidy layout.
+ (__NTDDDISK_H): Multiple inclusion guard macro, renamed to...
+ (_DDK_NTDDDISK_H): ...this; to provide better indication of location.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+ (IOCTL_DISK_BASE, IOCTL_DISK_GET_LENGTH_INFO)
+ (IOCTL_DISK_IS_WRITABLE, IOCTL_DISK_REASSIGN_BLOCKS)
+ (IOCTL_DISK_FIND_NEW_DEVICES, IOCTL_DISK_GET_MEDIA_TYPES)
+ (IOCTL_DISK_GET_DRIVE_LAYOUT, IOCTL_DISK_SET_DRIVE_LAYOUT)
+ (IOCTL_DISK_GET_PARTITION_INFO, IOCTL_DISK_SET_PARTITION_INFO)
+ (IOCTL_DISK_GET_DRIVE_LAYOUT_EX, IOCTL_DISK_SET_DRIVE_LAYOUT_EX)
+ (IOCTL_DISK_GET_DRIVE_GEOMETRY, IOCTL_DISK_GET_DRIVE_GEOMETRY_EX)
+ (IOCTL_DISK_CREATE_DISK, IOCTL_DISK_VERIFY, IOCTL_DISK_CHECK_VERIFY)
+ (IOCTL_DISK_GET_PARTITION_INFO_EX, IOCTL_DISK_SET_PARTITION_INFO_EX)
+ (IOCTL_DISK_GET_CACHE_INFORMATION, IOCTL_DISK_SET_CACHE_INFORMATION)
+ (IOCTL_DISK_DELETE_DRIVE_LAYOUT, IOCTL_DISK_GROW_PARTITION)
+ (IOCTL_DISK_FORMAT_TRACKS, IOCTL_DISK_FORMAT_TRACKS_EX)
+ (IOCTL_DISK_PERFORMANCE, IOCTL_DISK_PERFORMANCE_OFF)
+ (IOCTL_DISK_UPDATE_DRIVE_SIZE, IOCTL_DISK_RESERVE): Factor out; all of
+ these macros are now defined in parts/winioctl.h; include it.
+ (PARTITION_ENTRY_UNUSED, PARTITION_FAT_12, PARTITION_XENIX_1)
+ (PARTITION_XENIX_2, PARTITION_FAT_16, PARTITION_EXTENDED)
+ (PARTITION_HUGE, PARTITION_IFS, PARTITION_OS2BOOTMGR, PARTITION_FAT32)
+ (PARTITION_FAT32_XINT13, PARTITION_XINT13, PARTITION_XINT13_EXTENDED)
+ (PARTITION_PREP, PARTITION_LDM, PARTITION_UNIX, PARTITION_NTFT)
+ (VALID_NTFT): Redefine as enumeration; factor it out.
+ (IsRecognizedPartition, IsContainerPartition): Factor out.
+ (enum _MEDIA_TYPE, MEDIA_TYPE, PMEDIA_TYPE): Factor out, adding...
+ (F3_200Mb_512, F3_240M_512, F3_32M_512): ...these new state values.
+ (enum _DETECTION_TYPE, DETECTION_TYPE): Factor out.
+ (struct _DISK_INT13_INFO, DISK_INT13_INFO, PDISK_INT13_INFO)
+ (struct _DISK_EX_INT13_INFO, DISK_EX_INT13_INFO, PDISK_EX_INT13_INFO)
+ (struct _DISK_DETECTION_INFO, DISK_DETECTION_INFO, PDISK_DETECTION_INFO)
+ (struct _DISK_GEOMETRY_EX, DISK_GEOMETRY_EX, PDISK_GEOMETRY_EX)
+ (struct _DISK_GEOMETRY, DISK_GEOMETRY, PDISK_GEOMETRY)
+ (DiskGeometryGetPartition, DiskGeometryGetDetect): Factor out.
+ (struct _PARTITION_INFORMATION): Change field data types for...
+ (HiddenSectors, PartitionNumber): ...these, from DWORD to ULONG...
+ (PartitionType): ...and this from BYTE to UCHAR, to keep consistent
+ with Windows DDK convention, then factor out struct, together with...
+ (PARTITION_INFORMATION, PPARTITION_INFORMATION): ...these.
+ (struct _PARTITION_INFORMATION_GPT, struct _DISK_PARTITION_INFO)
+ (PARTITION_INFORMATION_GPT, *PPARTITION_INFORMATION_GPT)
+ (DISK_PARTITION_INFO, *PDISK_PARTITION_INFO): Factor out.
+ (struct _GET_LENGTH_INFORMATION)
+ (GET_LENGTH_INFORMATION, PGET_LENGTH_INFORMATION)
+ (struct _DISK_PERFORMANCE, DISK_PERFORMANCE, PDISK_PERFORMANCE)
+ (struct _DISK_PERFORMANCE_EX, DISK_PERFORMANCE_EX, PDISK_PERFORMANCE_EX)
+ (struct _FORMAT_PARAMETERS, struct _FORMAT_EX_PARAMETERS)
+ (FORMAT_PARAMETERS, PFORMAT_PARAMETERS, FORMAT_EX_PARAMETERS)
+ (PFORMAT_EX_PARAMETERS): Factor out.
+ (struct _REASSIGN_BLOCKS): Change field data types for...
+ (Reserved, Count): ...these fields, from WORD to USHORT, and...
+ (BlockNumber): ...this from DWORD to ULONG, per Windows DDK
+ convention, then factor out the struct definition, together with...
+ (REASSIGN_BLOCKS, PREASSIGN_BLOCKS): ...these associated typedefs.
+ (struct _SET_PARTITION_INFORMATION, SET_PARTITION_INFORMATION)
+ (PSET_PARTITION_INFORMATION): Factor out.
+ (struct _VERIFY_INFORMATION): Change field data type for...
+ (Length): ...this field, from DWORD to ULONG, per DDK convention, then
+ factor out the entire struct definition, together with...
+ (VERIFY_INFORMATION, PVERIFY_INFORMATION): ...these associated typedefs.
+ (DISK_CACHE_RETENTION_PRIORITY): Factor out enumerated typedef.
+ (struct _DISK_CACHE_INFORMATION, struct _DISK_GROW_PARTITION)
+ (DISK_CACHE_INFORMATION, PDISK_CACHE_INFORMATION, DISK_GROW_PARTITION)
+ (PDISK_GROW_PARTITION): Factor out.
+
+ * include/winioctl.h: Assert copyright; tidy layout; incorporate
+ definitions from Windows DDK headers, by including parts/winioctl.h;
+ delete duplicate definitions already identified as having been factored
+ out from ddk/winddk.h, ddk/ntddstor.h, and ddk/ntdddisk.h; accept type
+ compatible changes from DWORD to ULONG, WORD to USHORT, and BYTE to
+ UCHAR, resulting in no significant changes, except that...
+ (struct _DISK_PERFORMANCE): ...this is extended, by addition of...
+ (IdleTime, SplitCount, QueryTime, StorageDeviceNumber)
+ (StorageManagerName): ...these previously missing fields, originally
+ appropriately defined in ddk/ntdddisk.h, thus fixing bug [#1954].
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+
+2015-10-22 Keith Marshall <kei...@us...>
+
+ Windows application module version information API updates.
+
+ * include/winver.h: Assert copyright; tidy layout.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these, as appropriate.
+ (__AW_SUFFIXED__): Use throughout, to identify generic functions
+ having both ANSI and UTF-16LE specific alternative implementations.
+ [NTDDI_VERSION >= NTDDI_VISTA] (GetFileVersionInfoEx): New function.
+ [NTDDI_VERSION >= NTDDI_VISTA] (GetFileVersionInfoSizeEx): Likewise;
+ note that both are generic, with ANSI and UTF-16LE implementations,
+ but the ANSI implementations are missing from MSVCRT.DLL when...
+ [NTDDI_VERSION < NTDDI_WIN8]: ...this.
+
+ * lib/version.def (GetFileVersionInfoExA, GetFileVersionInfoExW)
+ (GetFileVersionInfoSizeExA, GetFileVersionInfoSizeExW): Add symbols.
+
+2015-10-22 Keith Marshall <kei...@us...>
+
+ Revert a failed experimental macro construct.
+
+ * include/w32api.h (__W32API_DEPRECATED_ALIAS): Delete this; it bloats
+ code, and doesn't work in the C preprocessor conditional context where
+ its associated constant definitions are most likely to be required.
+ (Windows95, Windows98, WindowsME, WindowsNT4, Windows2000, WindowsXP)
+ (Windows2003, WindowsVista, IE3, IE301, IE302, IE4, IE401, IE5, IE5a)
+ (IE5b, IE501, IE55, IE56, IE6, IE601, IE602, IE7): Redefine as macros,
+ now in terms of their preferred equivalents from <sdkddkver.h>
+
+2015-09-29 Keith Marshall <kei...@us...>
+
+ Code clean-up; fix MinGW-Bug [#2263].
+
+ * include/w32api.h (__AW_SUFFIXED__): New macro; define it.
+ (__AW_EXTENDED__, __AW_STRING_A__, __AW_STRING_W__): Likewise.
+ (__AW__WCHAR_T__): Likewise; this is a helper for __AW_STRING_W__.
+
+ * include/wincrypt.h: Assert copyright; tidy layout; replace all C++
+ style comments, using ISO-C conforming style; remove all redundant
+ parameter names from function prototype declarations, throughout.
+ (pragma GCC system_header): Remove pointless conditional guard.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
+ [WINVER >= 0x500, WINVER >= 0x501]: Replace conditionals with...
+ [WINVER >= _WIN32_WINNT_WIN2K, WINVER >= _WIN32_WINNT_WINXP]: ...these
+ alternatives, respectively; they offer improved self-documentation.
+ (MS_DEF_PROV, MS_ENHANCED_PROV, MS_STRONG_PROV, MS_SCARD_PROV)
+ (MS_DEF_RSA_SIG_PROV, MS_DEF_RSA_SCHANNEL_PROV, MS_DEF_DSS_PROV)
+ (MS_DEF_DSS_DH_PROV, MS_ENH_DSS_DH_PROV, MS_DEF_DH_SCHANNEL_PROV)
+ (MS_ENH_RSA_AES_PROV): Redefine as __AW_EXTENDED__ derivatives.
+ (MS_DEF_PROV_W, MS_ENHANCED_PROV_W, MS_STRONG_PROV_W, MS_SCARD_PROV_W)
+ (MS_DEF_RSA_SIG_PROV_W, MS_DEF_RSA_SCHANNEL_PROV_W, MS_DEF_DSS_PROV_W)
+ (MS_DEF_DSS_DH_PROV_W, MS_ENH_DSS_DH_PROV_W, MS_DEF_DH_SCHANNEL_PROV_W)
+ (MS_ENH_RSA_AES_PROV_W): Redefine; use __AW_STRING_W__ to derive them
+ from their __AW_STRING_A__ equivalent string constant definitions.
+ (GET_ALG_CLASS): Redefine, expressing result in terms of...
+ (ALG_CLASS_ALL): ...this manifest bit mask; also redefined, preferring
+ a hexadecimal expression of the mask value over the former decimal.
+ (GET_ALG_TYPE, GET_ALG_SID): Similarly, use hexadecimal mask values.
+ (ALG_CLASS_SIGNATURE, ALG_CLASS_MSG_ENCRYPT, ALG_CLASS_DATA_ENCRYPT)
+ (ALG_CLASS_HASH, ALG_CLASS_KEY_EXCHANGE, ALG_TYPE_DSS, ALG_TYPE_RSA)
+ (ALG_TYPE_BLOCK, ALG_TYPE_STREAM, ALG_TYPE_DH, ALG_TYPE_SECURECHANNEL)
+ (CRYPT_UPDATE_KEY, CRYPT_NEWKEYSET, CRYPT_DELETEKEYSET, CRYPT_SILENT)
+ (CRYPT_MACHINE_KEYSET, CRYPT_USER_PROTECTED, CRYPT_CREATE_SALT)
+ (CRYPT_EXPORTABLE, CRYPT_ENCRYPT, CRYPT_DECRYPT, CRYPT_EXPORT)
+ (CRYPT_READ, CRYPT_WRITE, CRYPT_MAC, CERT_TRUST_IS_NOT_TIME_VALID)
+ (CERT_TRUST_IS_NOT_TIME_NESTED, CERT_TRUST_IS_REVOKED)
+ (CERT_TRUST_IS_NOT_SIGNATURE_VALID, CERT_TRUST_IS_NOT_VALID_FOR_USAGE)
+ (CERT_TRUST_IS_UNTRUSTED_ROOT, CERT_TRUST_REVOCATION_STATUS_UNKNOWN)
+ (CERT_TRUST_IS_CYCLIC, CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID)
+ (CERT_TRUST_IS_PARTIAL_CHAIN, CERT_TRUST_CTL_IS_NOT_TIME_VALID)
+ (CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE, CERT_TRUST_IS_SELF_SIGNED)
+ (CERT_TRUST_HAS_EXACT_MATCH_ISSUER, CERT_TRUST_HAS_KEY_MATCH_ISSUER)
+ (CERT_TRUST_HAS_NAME_MATCH_ISSUER, CERT_TRUST_IS_COMPLEX_CHAIN)
+ (CERT_CHAIN_POLICY_BASE, CERT_CHAIN_POLICY_AUTHENTICODE)
+ (CERT_CHAIN_POLICY_AUTHENTICODE_TS, CERT_CHAIN_POLICY_SSL)
+ (CERT_CHAIN_POLICY_BASIC_CONSTRAINTS, CERT_CHAIN_POLICY_NT_AUTH)
+ (CERT_NAME_STR_REVERSE_FLAG, CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG)
+ (CERT_NAME_STR_CRLF_FLAG, CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG)
+ (CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG, CERT_NAME_STR_NO_PLUS_FLAG)
+ (CERT_NAME_STR_NO_QUOTING_FLAG, CERT_NAME_STR_SEMICOLON_FLAG)
+ (CERT_FIND_CERT_ID, CERT_FIND_CTL_USAGE, CERT_FIND_ENHKEY_USAGE)
+ (CERT_FIND_EXISTING, CERT_FIND_HASH, CERT_FIND_ISSUER_ATTR)
+ (CERT_FIND_ISSUER_NAME, CERT_FIND_ISSUER_OF, CERT_FIND_KEY_IDENTIFIER)
+ (CERT_FIND_KEY_SPEC, CERT_FIND_MD5_HASH, CERT_FIND_PROPERTY)
+ (CERT_FIND_PUBLIC_KEY, CERT_FIND_SHA1_HASH, CERT_FIND_SIGNATURE_HASH)
+ (CERT_FIND_SUBJECT_ATTR, CERT_FIND_SUBJECT_CERT, CERT_FIND_SUBJECT_NAME)
+ (CERT_FIND_SUBJECT_STR_A, CERT_FIND_SUBJECT_STR_W)
+ (CERT_FIND_ISSUER_STR_A, CERT_FIND_ISSUER_STR_W)
+ (CERT_FIND_OR_ENHKEY_USAGE_FLAG, CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG)
+ (CERT_FIND_NO_ENHKEY_USAGE_FLAG, CERT_FIND_VALID_ENHKEY_USAGE_FLAG)
+ (CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG, CERT_UNICODE_IS_RDN_ATTRS_FLAG)
+ (CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG, CERT_CHAIN_FIND_BY_ISSUER)
+ (CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG)
+ (CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG)
+ (CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG)
+ (CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG)
+ (CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG)
+ (CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG)
+ (CERT_SYSTEM_STORE_LOCAL_MACHINE): All represent bit-mapped values;
+ express them in hexadecimal, in preference to original decimal form.
+ (CERT_FIND_SUBJECT_STR, CERT_FIND_ISSUER_STR): Redefine them as
+ __AW_EXTENDED__ macros, for UNICODE/non-UNICODE cases respectively.
+ (szOID_CRL_DIST_POINTS): Correct defective definition; value should be
+ a string literal, but was missing delimiting quotes; insert them.
+ (CertNameToStr, CertOpenSystemStore, CertGetNameString, CryptSignHash)
+ (CryptAcquireContext, CryptVerifySignature, CryptGetDefaultProvider)
+ (CryptEnumProviders, CryptSetProvider): Define as __AW_SUFFIXED__
+ aliases for each of the UNICODE/non-UNICODE cases respectively.
+ (CryptEnumProvidersA): Correct prototype declaration; 5th parameter
+ was declared as type LPTSTR, but should be type LPSTR.
+ (CryptEnumProvidersW): Likewise; 5th parameter should be type LPWSTR.
+ (CryptGetDefaultProviderW): Likewise; 4th parameter was declared as
+ type LPSTR, but should be type LPWSTR.
+ [defined MINGW_TENTATIVE_ASSUMPTIONS] (X509_ANY_STRING)
+ (X509_CRL_REASON_CODE, X509_DSS_PUBLICKEY, X509_UNICODE_ANY_STRING)
+ (struct _CERT_ALT_NAME_ENTRY): Add tentative definitions.
+
+2015-09-22 Keith Marshall <kei...@us...>
+
+ Correct defect in build system compilation rule.
+
+ * Makefile.in (scrnsavw.$OBJEXT): Do not use $^ to represent the
+ source file; it expands to also include prerequisite header files,
+ which should not appear on the compilation command line. Rewrite
+ rule in static pattern format, and use $< instead.
+
+2015-08-02 Keith Marshall <kei...@us...>
+
+ Build system corrections for GCC build time support.
+
+ * configure.ac (AC_PROG_CC): Don't use this; we need...
+ (MINGW_AC_PROG_CC_COMPILE_ONLY): ...this alternative, to support
+ building with only a stage 1 partially built GCC installation.
+
+ * Makefile.in (install-headers): New make objective; map it to...
+ (install-w32api-headers): ...this, for which it is a logical alias.
+
+2015-07-16 Keith Marshall <kei...@us...>
+
+ Overhaul and streamline build system configuration.
+
+ * configure.in: Delete obsolete file; replace with...
+ * configure.ac: New file; rewritten per current autoconf conventions.
+
+ * Makefile.in: Rewritten; adapted from current mingwrt configuration,
+ it now processes the entire build without using separate sub-makes.
+
+ * lib/Makefile.in: Sub-make configuration not required now; delete it.
+ * lib/ddk/Makefile.in lib/directx/Makefile.in: Likewise; delete them.
+
+2015-07-14 Keith Marshall <kei...@us...>
+
+ Remove unused aclocal.m4 configuration file.
+
+ * aclocal.m4: Delete it; it provides no content used by this package.
+
+2015-07-14 Keith Marshall <kei...@us...>
+
+ Adapt platform feature checks to NTDDI_VERSION conventions.
+
+ * include/sdkddkver.h: New file; merge from 4.0-dev branch.
+ (_WIN32_WINNT_WINBLUE): New manifest constant for Windows-8.1.
+ (WINNTVER): Prefer bitwise shift to division; adjust accordingly.
+ [_WIN32_WINNT != OSVER(NTDDI_VERSION)]: Bad comparison; correct to...
+ [_WIN32_WINNT != WINNTVER(NTDDI_VERSION)]: ...this.
+
+ * include/w32api.h: Assert copyright; include sdkddkver.h.
+ (__W32API_VERSION): Increment to 3.18; adopt new encoding format.
+ (__W32API_MAJOR_VERSION, __W32API_MINOR_VERSION): Adjust consistently.
+ (__W32API_PATCH_LEVEL): New macro; define with initial value of zero.
+ (__W32API_DEPRECATED_ALIAS): New macro; define it; use to redefine...
+ (Windows95, Windows98, WindowsME, WindowsNT4, Windows2000, WindowsXP)
+ (Windows2003, WindowsVista, IE3, IE301, IE302, IE4, IE401, IE5, IE5a)
+ (IE5b, IE501, IE55, IE56, IE6, IE601, IE602, IE7): ...these; replace
+ macro definitions by long integer constants, and mark as deprecated.
+ (UNICODE, _UNICODE): Keep these consistent; use logic factored out of
+ mingwrt/include/_mingw.h, whence we similarly relocate...
+ (_EXTERN_C, _BEGIN_C_DECLS, _END_C_DECLS): ...these.
+
+ * include/windef.h: Assert copyright; include w32api.h, whence we
+ infer default assignments, per included sdkddkver.h, for each of...
+ (WINVER, _WIN32_WINNT): ...these; delete local defines.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+
+2015-06-16 Keith Marshall <kei...@us...>
+
+ Remove generated configure script from revision control.
+
+ * configure: Delete from SCM; maintainer must regenerate it, when
+ required, as SCM will now ignore it.
+
+ 2012-07-06 Corinna Vinschen <co...@vi...>
+
+ Extend visibility of winsock definitions when building Cygwin.
+
+ * include/winsock.h [__INSIDE_CYGWIN__]: Expose definitions of...
+ (IP_OPTIONS, SO_DEBUG, SO_ACCEPTCONN, SO_REUSEADDR, SO_KEEPALIVE)
+ (SO_DONTROUTE, SO_BROADCAST, SO_USELOOPBACK, SO_LINGER, SO_OOBINLINE)
+ (SO_DONTLINGER, SO_SNDBUF, SO_RCVBUF, SO_SNDLOWAT, SO_RCVLOWAT)
+ (SO_SNDTIMEO, SO_RCVTIMEO, SO_ERROR, SO_TYPE): ...these; however...
+ [__INSIDE_MSYS__]: ...keep them hidden.
+
+ * include/winsock2.h [__INSIDE_CYGWIN__]: Likewise, expose...
+ (AF_MAX, _SS_MAXSIZE, _SS_ALIGNSIZE, _SS_PAD1SIZE, _SS_PAD2SIZE)
+ (struct sockaddr, struct sockaddr_storage): ...these, whereas...
+ [__INSIDE_MSYS__]: ...also keep them hidden.
+
+ 2012-04-29 Jan Ringos <tr...@us...>
+
+ Correct version guard for WinXP minimum requirement.
+
+ * include/winbase.h (GetModuleHandleEx): Function unsupported for...
+ [_WIN32_WINNT >= 0x500]: ...this; it isn't in Win2K, so should be...
+ [_WIN32_WINNT >= 0x501]: ...this; correct it accordingly.
+ (GetModuleHandleExA, GetModuleHandleExW): Likewise.
+
+ 2012-04-28 LRN <l_r...@us...>
+
+ Add missing <shobjidl.h> and associated UUID implementation.
+
+ * include/shobjidl.h lib/shobjidl-uuid.c: New files.
+ * lib/Makefile.in (UUID_SOURCES, UUID_OBJS): Add references.
+
+ 2012-03-19 Ben Greear <gr...@us...>
+
+ Adjust header file definition order, to fix issue [#1570].
+
+ * include/routprot.h (IP_LOCAL_BINDING): Must be defined before...
+ (IP_ADAPTER_BINDING_INFO): ...this; adjust order of definition.
+
+ 2012-01-03 Chris Sutcliffe <ir0...@us...>
+
+ Add missing return value, flagged by 'make test'.
+
+ * include/gdiplus/gdiplustypes.h (Gdiplus::GdiplusAbort::Abort):
+ Return NO_ERROR in virtual definition.
+
+ 2012-01-03 Chris Sutcliffe <ir0...@us...>
+
+ Remove duplicate definitions, identified by 'make test'.
+
+ * include/wincrypt.h (CRYPT_NEWKEYSET, CRYPT_DELETEKEYSET)
+ (CRYPT_MACHINE_KEYSET, CRYPT_EXPORTABLE, CRYPT_USER_PROTECTED)
+ (CRYPT_SILENT, CRYPT_CREATE_SALT, CRYPT_UPDATE_KEY, CRYPT_NO_SALT)
+ (CRYPT_PREGEN, CRYPT_RECIPIENT, CRYPT_INITIATOR, CRYPT_ONLINE)
+ (CRYPT_SF, CRYPT_CREATE_IV, CRYPT_KEK, CRYPT_DATA_KEY)
+ (CRYPT_VOLATILE, CRYPT_SGCKEY): Delete second instance of each.
+
+ * include/winerror.h (CRYPT_E_REVOKED): Delete; it is already
+ correctly defined (per MSDN) in <wincrypt.h>
+
+ 2012-01-03 Keith Marshall <kei...@us...>
+
+ Correct misuse of #ifdef, identified by 'make test'.
+
+ * include/shlwapi.h (enum ASSOCSTR, enum ASSOCDATA): Fix typos;
+ /#ifdef _WIN32_IE >= 0x0600/s/#ifdef/#if/
+
+ 2011-12-22 Corinna Vinschen <co...@vi...>
+
+ Replace more incorrectly named manifest constants.
+
+ * include/winnt.h (JOB_OBJECT_LIMIT_BREAKAWAY_OK)
+ (JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK): Define; make aliases for...
+ (JOB_OBJECT_BREAKAWAY_OK, JOB_OBJECT_SILENT_BREAKAWAY): ...these old
+ definitions respectively; retain for backward compatibility only.
+
+ 2011-12-22 Corinna Vinschen <co...@vi...>
+
+ Add missing PROCESS_QUERY_LIMITED_INFORMATION.
+
+ * include/winnt.h (PROCESS_QUERY_LIMITED_INFORMATION): Define it.
+
+ 2011-08-19 Corinna Vinschen <co...@vi...>
+
+ Add missing MAPVK manifest constant definitions.
+
+ * include/winuser.h (MAPVK_VK_TO_VSC, MAPVK_VSC_TO_VK): Define them.
+ (MAPVK_VK_TO_CHAR, MAPVK_VSC_TO_VK_EX, MAPVK_VK_TO_VSC_EX): Likewise.
+
+ 2011-08-05 Corinna Vinschen <co...@vi...>
+
+ Correct some misspelled manifest constant names.
+
+ * include/winnt.h (IMAGE_DLL_CHARACTERISTICS_NX_COMPAT): Should be...
+ (IMAGE_DLLCHARACTERISTICS_NX_COMPAT): ...this; define correctly; also
+ alias to original misspelling, to maintain backward compatibility.
+ (IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY): Likewise; should be...
+ (IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY): ...this; define and alias.
+ (IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE): Likewise; should be...
+ (IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE): ...this; define and alias.
+
+ 2011-07-29 Corinna Vinschen <co...@vi...>
+
+ Add a missing Win2K sockets IOCTL feature.
+
+ * include/winsock2.h (SIO_UDP_CONNRESET): Define.
+
+ 2011-05-22 Albrecht Schlosser <vms...@go...>
+
+ Fix an incorrectly typed structure member.
+
+ * include/wingdi.h (GCP_RESULTSW): lpClass field defined as LPWSTR;
+ should be LPSTR; correct it.
+
+ 2011-05-15 Corinna Vinschen <co...@vi...>
+
+ Add another missing manifest constant definition.
+
+ * include/winbase.h (STACK_SIZE_PARAM_IS_A_RESERVATION): Define.
+
+ 2011-04-21 Keith Marshall <kei...@us...>
+
+ Avoid pollution of user namespace; fix MinGW-Bug [#1531].
+
+ * include/windef.h (PACKED): Delete macro definition; its name is not
+ reserved, and may thus conflict with a user defined name; replace it...
+ * include/wincon.h (KEY_EVENT_RECORD): ...at this sole point of use;
+ use __attribute__((packed)) directly instead.
+
+ 2011-04-21 Chris Sutcliffe <ir0...@us...>
+
+ Fix bad typedef, per MinGW-Bug [#1529].
+
+ * include/imagehlp.h (PREAD_PROCESS_MEMORY_ROUTINE): Corrected, to
+ conform with MSDN reference, as identified by Safety0ff.
+
+ 2011-04-04 Corinna Vinschen <co...@vi...>
+
+ Add a missing manifest constant definition.
+
+ * include/winnt.h (DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS): Define.
+
+ 2011-03-29 Corinna Vinschen <co...@vi...>
+
+ Win2K and Vista userenv updates.
+
+ * include/userenv.h [_WIN32_WINNT >= 0x0500] (DeleteProfile)
+ (GetAllUsersProfileDirectory, GetDefaultUserProfileDirectory)
+ (ExpandEnvironmentStringsForUser): Define function aliases.
+ [_WIN32_WINNT >= 0x0500] (DeleteProfileA, DeleteProfileW)
+ (GetAllUsersProfileDirectoryA, GetAllUsersProfileDirectoryW)
+ (GetDefaultUserProfileDirectoryA, GetDefaultUserProfileDirectoryW
+ (ExpandEnvironmentStringsForUserA, ExpandEnvironmentStringsForUserW)
+ (GetProfileType): Declare function prototypes.
+ [_WIN32_WINNT >= 0x0600] (CreateProfile): Declare function prototype.
+ [_WIN32_WINNT >= 0x0500] (PT_TEMPORARY, PT_ROAMING, PT_MANDATORY):
+ New manifest constants; define them.
+
2011-03-25 Chris Sutcliffe <ir0...@us...>
* Makefile.in: Increment CYGRELEASE to 2.
diff --cc w32api/include/wincrypt.h
index ca74c28,cd86753..c6085d4
--- a/w32api/include/wincrypt.h
+++ b/w32api/include/wincrypt.h
@@@ -38,780 -8,657 +38,781 @@@
#define WINADVAPI
#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define MS_DEF_PROV_A "Microsoft Base Cryptographic Provider v1.0"
-#define MS_DEF_PROV_W L"Microsoft Base Cryptographic Provider v1.0"
-#define MS_ENHANCED_PROV_A "Microsoft Enhanced Cryptographic Provider v1.0"
-#define MS_ENHANCED_PROV_W L"Microsoft Enhanced Cryptographic Provider v1.0"
-#define MS_STRONG_PROV_A "Microsoft Strong Cryptographic Provider"
-#define MS_STRONG_PROV_W L"Microsoft Strong Cryptographic Provider"
-#define MS_DEF_RSA_SIG_PROV_A "Microsoft RSA Signature Cryptographic Provider"
-#define MS_DEF_RSA_SIG_PROV_W L"Microsoft RSA Signature Cryptographic Provider"
+_BEGIN_C_DECLS
+
+#define MS_DEF_PROV __AW_EXTENDED__( MS_DEF_PROV )
+#define MS_DEF_PROV_W __AW_STRING_W__( MS_DEF_PROV_A )
+#define MS_DEF_PROV_A "Microsoft Base Cryptographic Provider v1.0"
+
+#define MS_ENHANCED_PROV __AW_EXTENDED__( MS_ENHANCED_PROV )
+#define MS_ENHANCED_PROV_W __AW_STRING_W__( MS_ENHANCED_PROV_A )
+#define MS_ENHANCED_PROV_A "Microsoft Enhanced Cryptographic Provider v1.0"
+
+#define MS_STRONG_PROV __AW_EXTENDED__( MS_STRONG_PROV )
+#define MS_STRONG_PROV_W __AW_STRING_W__( MS_STRONG_PROV_A )
+#define MS_STRONG_PROV_A "Microsoft Strong Cryptographic Provider"
+
+#define MS_DEF_RSA_SIG_PROV __AW_EXTENDED__( MS_DEF_RSA_SIG_PROV )
+#define MS_DEF_RSA_SIG_PROV_W __AW_STRING_W__( MS_DEF_RSA_SIG_PROV_A )
+#define MS_DEF_RSA_SIG_PROV_A "Microsoft RSA Signature Cryptographic Provider"
+
+#define MS_DEF_RSA_SCHANNEL_PROV __AW_EXTENDED__( MS_DEF_RSA_SCHANNEL_PROV )
+#define MS_DEF_RSA_SCHANNEL_PROV_W __AW_STRING_W__( MS_DEF_RSA_SCHANNEL_PROV_A )
#define MS_DEF_RSA_SCHANNEL_PROV_A "Microsoft RSA SChannel Cryptographic Provider"
-#define MS_DEF_RSA_SCHANNEL_PROV_W L"Microsoft RSA SChannel Cryptographic Provider"
-#define MS_DEF_DSS_PROV_A "Microsoft Base DSS Cryptographic Provider"
-#define MS_DEF_DSS_PROV_W L"Microsoft Base DSS Cryptographic Provider"
-#define MS_DEF_DSS_DH_PROV_A "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"
-#define MS_DEF_DSS_DH_PROV_W L"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"
-#define MS_ENH_DSS_DH_PROV_A "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"
-#define MS_ENH_DSS_DH_PROV_W L"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"
+
+#define MS_DEF_DSS_PROV __AW_EXTENDED__( MS_DEF_DSS_PROV )
+#define MS_DEF_DSS_PROV_W __AW_STRING_W__( MS_DEF_DSS_PROV_A )
+#define MS_DEF_DSS_PROV_A "Microsoft Base DSS Cryptographic Provider"
+
+#define MS_DEF_DSS_DH_PROV __AW_EXTENDED__( MS_DEF_DSS_DH_PROV )
+#define MS_DEF_DSS_DH_PROV_W __AW_STRING_W__( MS_DEF_DSS_DH_PROV_A )
+#define MS_DEF_DSS_DH_PROV_A "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider"
+
+#define MS_ENH_DSS_DH_PROV __AW_EXTENDED__( MS_ENH_DSS_DH_PROV )
+#define MS_ENH_DSS_DH_PROV_W __AW_STRING_W__( MS_ENH_DSS_DH_PROV_A )
+#define MS_ENH_DSS_DH_PROV_A "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider"
+
+#define MS_DEF_DH_SCHANNEL_PROV __AW_EXTENDED__( MS_DEF_DH_SCHANNEL_PROV )
+#define MS_DEF_DH_SCHANNEL_PROV_W __AW_STRING_W__( MS_DEF_DH_SCHANNEL_PROV_A )
#define MS_DEF_DH_SCHANNEL_PROV_A "Microsoft DH SChannel Cryptographic Provider"
-#define MS_DEF_DH_SCHANNEL_PROV_W L"Microsoft DH SChannel Cryptographic Provider"
-#define MS_SCARD_PROV_A "Microsoft Base Smart Card Crypto Provider"
-#define MS_SCARD_PROV_W L"Microsoft Base Smart Card Crypto Provider"
-#if (_WIN32_WINNT == 0x0501)
-#define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
-#define MS_ENH_RSA_AES_PROV_W L"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
-#elif (_WIN32_WINNT > 0x0501)
-#define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider"
-#define MS_ENH_RSA_AES_PROV_W L"Microsoft Enhanced RSA and AES Cryptographic Provider"
+
+#define MS_SCARD_PROV __AW_EXTENDED__( MS_SCARD_PROV )
+#define MS_SCARD_PROV_W __AW_STRING_W__( MS_SCARD_PROV_A )
+#define MS_SCARD_PROV_A "Microsoft Base Smart Card Crypto Provider"
+
+#if _WIN32_WINNT >= _WIN32_WINNT_WINXP
+# define MS_ENH_RSA_AES_PROV __AW_EXTENDED__( MS_ENH_RSA_AES_PROV )
+# define MS_ENH_RSA_AES_PROV_W __AW_STRING_W__( MS_ENH_RSA_AES_PROV_A )
+
+# if _WIN32_WINNT == _WIN32_WINNT_WINXP
+# define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)"
+
+#else /* _WIN32_WINNT > _WIN32_WINNT_WINXP */
+# define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider"
+# endif
#endif
-#define GET_ALG_CLASS(x) (x&57344)
-#define GET_ALG_TYPE(x) (x&7680)
-#define GET_ALG_SID(x) (x&511)
-#define ALG_CLASS_ANY 0
-#define ALG_CLASS_SIGNATURE 8192
-#define ALG_CLASS_MSG_ENCRYPT 16384
-#define ALG_CLASS_DATA_ENCRYPT 24576
-#define ALG_CLASS_HASH 32768
-#define ALG_CLASS_KEY_EXCHANGE 40960
-#define ALG_CLASS_ALL 57344 /* (7 << 13) */
-#define ALG_TYPE_ANY 0
-#define ALG_TYPE_DSS 512
-#define ALG_TYPE_RSA 1024
-#define ALG_TYPE_BLOCK 1536
-#define ALG_TYPE_STREAM 2048
-#define ALG_TYPE_DH 2560 /* (5 << 9) */
-#define ALG_TYPE_SECURECHANNEL 3072 /* (6 << 9) */
-#define ALG_SID_ANY 0
-#define ALG_SID_RSA_ANY 0
-#define ALG_SID_RSA_PKCS 1
-#define ALG_SID_RSA_MSATWORK 2
-#define ALG_SID_RSA_ENTRUST 3
-#define ALG_SID_RSA_PGP 4
-#define ALG_SID_DSS_ANY 0
-#define ALG_SID_DSS_PKCS 1
-#define ALG_SID_DSS_DMS 2
-#define ALG_SID_DES 1
-#define ALG_SID_3DES 3
-#define ALG_SID_DESX 4
-#define ALG_SID_IDEA 5
-#define ALG_SID_CAST 6
-#define ALG_SID_SAFERSK64 7
-#define ALG_SID_SAFERSK128 8
-#define ALG_SID_3DES_112 9
-#define ALG_SID_SKIPJACK 10
-#define ALG_SID_TEK 11
-#define ALG_SID_CYLINK_MEK 12
-#define ALG_SID_RC5 13
-#define ALG_SID_RC2 2
-#define ALG_SID_RC4 1
-#define ALG_SID_SEAL 2
-#define ALG_SID_MD2 1
-#define ALG_SID_MD4 2
-#define ALG_SID_MD5 3
-#define ALG_SID_SHA 4
-#define ALG_SID_MAC 5
-#define ALG_SID_RIPEMD 6
-#define ALG_SID_RIPEMD160 7
-#define ALG_SID_SSL3SHAMD5 8
-#define ALG_SID_HMAC 9
-#define ALG_SID_TLS1PRF 10
-#define ALG_SID_AES_128 14
-#define ALG_SID_AES_192 15
-#define ALG_SID_AES_256 16
-#define ALG_SID_AES 17
-#define ALG_SID_EXAMPLE 80
-
-#define CALG_MD2 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD2)
-#define CALG_MD4 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD4)
-#define CALG_MD5 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD5)
-#define CALG_SHA (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_SHA)
-#define CALG_SHA1 CALG_SHA
-#define CALG_MAC (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MAC)
-#define CALG_3DES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|3)
-#define CALG_CYLINK_MEK (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|12)
-#define CALG_SKIPJACK (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|10)
-#define CALG_KEA_KEYX (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_STREAM|ALG_TYPE_DSS|4)
-#define CALG_RSA_SIGN (ALG_CLASS_SIGNATURE|ALG_TYPE_RSA|ALG_SID_RSA_ANY)
-#define CALG_DSS_SIGN (ALG_CLASS_SIGNATURE|ALG_TYPE_DSS|ALG_SID_DSS_ANY)
-#define CALG_RSA_KEYX (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_RSA|ALG_SID_RSA_ANY)
-#define CALG_DES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DES)
-#define CALG_RC2 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_RC2)
-#define CALG_RC4 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_RC4)
-#define CALG_SEAL (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_SEAL)
-#define CALG_DH_EPHEM (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_STREAM|ALG_TYPE_DSS|ALG_SID_DSS_DMS)
-#define CALG_DESX (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DESX)
-#define CALG_TLS1PRF (ALG_CLASS_DHASH|ALG_TYPE_ANY|ALG_SID_TLS1PRF)
-#define CALG_AES_128 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES_128)
-#define CALG_AES_192 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES_192)
-#define CALG_AES_256 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES_256)
-#define CALG_AES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES)
-
-#define CRYPT_VERIFYCONTEXT 0xF0000000
-#define CRYPT_NEWKEYSET 8
-#define CRYPT_DELETEKEYSET 16
-#define CRYPT_MACHINE_KEYSET 32
-#define CRYPT_SILENT 64
-#define CRYPT_EXPORTABLE 1
-#define CRYPT_USER_PROTECTED 2
-#define CRYPT_CREATE_SALT 4
-#define CRYPT_UPDATE_KEY 8
-#define SIMPLEBLOB 1
-#define PUBLICKEYBLOB 6
-#define PRIVATEKEYBLOB 7
-#define PLAINTEXTKEYBLOB 8
-#define OPAQUEKEYBLOB 9
-#define PUBLICKEYBLOBEX 10
-#define SYMMETRICWRAPKEYBLOB 11
-#define AT_KEYEXCHANGE 1
-#define AT_SIGNATURE 2
-#define CRYPT_USERDATA 1
-#define PKCS5_PADDING 1
-#define CRYPT_MODE_CBC 1
-#define CRYPT_MODE_ECB 2
-#define CRYPT_MODE_OFB 3
-#define CRYPT_MODE_CFB 4
-#define CRYPT_MODE_CTS 5
-#define CRYPT_MODE_CBCI 6
-#define CRYPT_MODE_CFBP 7
-#define CRYPT_MODE_OFBP 8
-#define CRYPT_MODE_CBCOFM 9
-#define CRYPT_MODE_CBCOFMI 10
-#define CRYPT_ENCRYPT 1
-#define CRYPT_DECRYPT 2
-#define CRYPT_EXPORT 4
-#define CRYPT_READ 8
-#define CRYPT_WRITE 16
-#define CRYPT_MAC 32
-#define HP_ALGID 1
-#define HP_HASHVAL 2
-#define HP_HASHSIZE 4
-#define HP_HMAC_INFO 5
-#define CRYPT_FAILED FALSE
-#define CRYPT_SUCCEED TRUE
-#define RCRYPT_SUCCEEDED(r) ((r)==CRYPT_SUCCEED)
-#define RCRYPT_FAILED(r) ((r)==CRYPT_FAILED)
-#define PP_ENUMALGS 1
-#define PP_ENUMCONTAINERS 2
-#define PP_IMPTYPE 3
-#define PP_NAME 4
-#define PP_VERSION 5
-#define PP_CONTAINER 6
-#define PP_CHANGE_PASSWORD 7
-#define PP_KEYSET_SEC_DESCR 8
-#define PP_CERTCHAIN 9
-#define PP_KEY_TYPE_SUBTYPE 10
-#define PP_PROVTYPE 16
-#define PP_KEYSTORAGE 17
-#define PP_APPLI_CERT 18
-#define PP_SYM_KEYSIZE 19
-#define PP_SESSION_KEYSIZE 20
-#define PP_UI_PROMPT 21
-#define PP_ENUMALGS_EX 22
-#define PP_ENUMMANDROOTS 25
-#define PP_ENUMELECTROOTS 26
-#define PP_KEYSET_TYPE 27
-#define PP_ADMIN_PIN 31
-#define PP_KEYEXCHANGE_PIN 32
-#define PP_SIGNATURE_PIN 33
-#define PP_SIG_KEYSIZE_INC 34
-#define PP_KEYX_KEYSIZE_INC 35
-#define PP_UNIQUE_CONTAINER 36
-#define PP_SGC_INFO 37
-#define PP_USE_HARDWARE_RNG 38
-#define PP_KEYSPEC 39
-#define PP_ENUMEX_SIGNING_PROT 40
-#define CRYPT_FIRST 1
-#define CRYPT_NEXT 2
-#define CRYPT_IMPL_HARDWARE 1
-#define CRYPT_IMPL_SOFTWARE 2
-#define CRYPT_IMPL_MIXED 3
-#define CRYPT_IMPL_UNKNOWN 4
-#define PROV_RSA_FULL 1
-#define PROV_RSA_SIG 2
-#define PROV_DSS 3
-#define PROV_FORTEZZA 4
-#define PROV_MS_EXCHANGE 5
-#define PROV_MS_MAIL 5
-#define PROV_SSL 6
-#define PROV_STT_MER 7
-#define PROV_STT_ACQ 8
-#define PROV_STT_BRND 9
-#define PROV_STT_ROOT 10
-#define PROV_STT_ISS 11
-#define PROV_RSA_SCHANNEL 12
-#define PROV_DSS_DH 13
-#define PROV_EC_ECDSA_SIG 14
-#define PROV_EC_ECNRA_SIG 15
-#define PROV_EC_ECDSA_FULL 16
-#define PROV_EC_ECNRA_FULL 17
-#define PROV_DH_SCHANNEL 18
-#define PROV_SPYRUS_LYNKS 20
-#define PROV_RNG 21
-#define PROV_INTEL_SEC 22
-#define PROV_RSA_AES 24
-#define MAXUIDLEN 64
-#define CUR_BLOB_VERSION 2
-#define X509_ASN_ENCODING 1
-#define PKCS_7_ASN_ENCODING 65536
-#define CERT_V1 0
-#define CERT_V2 1
-#define CERT_V3 2
-#define CERT_E_CHAINING (-2146762486)
-#define CERT_E_CN_NO_MATCH (-2146762481)
-#define CERT_E_EXPIRED (-2146762495)
-#define CERT_E_PURPOSE (-2146762490)
-#define CERT_E_REVOCATION_FAILURE (-2146762482)
-#define CERT_E_REVOKED (-2146762484)
-#define CERT_E_ROLE (-2146762493)
-#define CERT_E_UNTRUSTEDROOT (-2146762487)
-#define CERT_E_UNTRUSTEDTESTROOT (-2146762483)
-#define CERT_E_VALIDITYPERIODNESTING (-2146762494)
-#define CERT_E_WRONG_USAGE (-2146762480)
-#define CERT_E_PATHLENCONST (-2146762492)
-#define CERT_E_CRITICAL (-2146762491)
-#define CERT_E_ISSUERCHAINING (-2146762489)
-#define CERT_E_MALFORMED (-2146762488)
-#define CRYPT_E_REVOCATION_OFFLINE (-2146885613)
-#define CRYPT_E_REVOKED (-2146885616)
-#define TRUST_E_BASIC_CONSTRAINTS (-2146869223)
-#define TRUST_E_CERT_SIGNATURE (-2146869244)
-#define TRUST_E_FAIL (-2146762485)
-#define CERT_TRUST_NO_ERROR 0
-#define CERT_TRUST_IS_NOT_TIME_VALID 1
-#define CERT_TRUST_IS_NOT_TIME_NESTED 2
-#define CERT_TRUST_IS_REVOKED 4
-#define CERT_TRUST_IS_NOT_SIGNATURE_VALID 8
-#define CERT_TRUST_IS_NOT_VALID_FOR_USAGE 16
-#define CERT_TRUST_IS_UNTRUSTED_ROOT 32
-#define CERT_TRUST_REVOCATION_STATUS_UNKNOWN 64
-#define CERT_TRUST_IS_CYCLIC 128
-#define CERT_TRUST_IS_PARTIAL_CHAIN 65536
-#define CERT_TRUST_CTL_IS_NOT_TIME_VALID 131072
-#define CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID 262144
-#define CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE 524288
-#define CERT_TRUST_HAS_EXACT_MATCH_ISSUER 1
-#define CERT_TRUST_HAS_KEY_MATCH_ISSUER 2
-#define CERT_TRUST_HAS_NAME_MATCH_ISSUER 4
-#define CERT_TRUST_IS_SELF_SIGNED 8
-#define CERT_TRUST_IS_COMPLEX_CHAIN 65536
-#define CERT_CHAIN_POLICY_BASE ((LPCSTR) 1)
-#define CERT_CHAIN_POLICY_AUTHENTICODE ((LPCSTR) 2)
-#define CERT_CHAIN_POLICY_AUTHENTICODE_TS ((LPCSTR) 3)
-#define CERT_CHAIN_POLICY_SSL ((LPCSTR) 4)
-#define CERT_CHAIN_POLICY_BASIC_CONSTRAINTS ((LPCSTR) 5)
-#define CERT_CHAIN_POLICY_NT_AUTH ((LPCSTR) 6)
-#define USAGE_MATCH_TYPE_AND 0
-#define USAGE_MATCH_TYPE_OR 1
-#define CERT_SIMPLE_NAME_STR 1
-#define CERT_OID_NAME_STR 2
-#define CERT_X500_NAME_STR 3
-#define CERT_NAME_STR_COMMA_FLAG 0x04000000
-#define CERT_NAME_STR_SEMICOLON_FLAG 1073741824
-#define CERT_NAME_STR_CRLF_FLAG 134217728
-#define CERT_NAME_STR_NO_PLUS_FLAG 536870912
-#define CERT_NAME_STR_NO_QUOTING_FLAG 268435456
-#define CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG 0x00010000
-#define CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG 0x00040000
-#define CERT_NAME_STR_REVERSE_FLAG 33554432
-#define CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG 131072
-#define CERT_FIND_ANY 0
-#define CERT_FIND_CERT_ID 1048576
-#define CERT_FIND_CTL_USAGE 655360
-#define CERT_FIND_ENHKEY_USAGE 655360
-#define CERT_FIND_EXISTING 851968
-#define CERT_FIND_HASH 65536
-#define CERT_FIND_ISSUER_ATTR 196612
-#define CERT_FIND_ISSUER_NAME 131076
-#define CERT_FIND_ISSUER_OF 786432
-#define CERT_FIND_KEY_IDENTIFIER 983040
-#define CERT_FIND_KEY_SPEC 589824
-#define CERT_FIND_MD5_HASH 262144
-#define CERT_FIND_PROPERTY 327680
-#define CERT_FIND_PUBLIC_KEY 393216
-#define CERT_FIND_SHA1_HASH 65536
-#define CERT_FIND_SIGNATURE_HASH 917504
-#define CERT_FIND_SUBJECT_ATTR 196615
-#define CERT_FIND_SUBJECT_CERT 720896
-#define CERT_FIND_SUBJECT_NAME 131079
-#define CERT_FIND_SUBJECT_STR_A 458759
-#define CERT_FIND_SUBJECT_STR_W 524295
-#define CERT_FIND_ISSUER_STR_A 458756
-#define CERT_FIND_ISSUER_STR_W 524292
-#define CERT_FIND_OR_ENHKEY_USAGE_FLAG 16
-#define CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG 1
-#define CERT_FIND_NO_ENHKEY_USAGE_FLAG 8
-#define CERT_FIND_VALID_ENHKEY_USAGE_FLAG 32
-#define CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG 2
-#define CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG 2
-#define CERT_UNICODE_IS_RDN_ATTRS_FLAG 1
-#define CERT_CHAIN_FIND_BY_ISSUER 1
-#define CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG 1
-#define CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG 2
-#define CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG 32768
-#define CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG 4
-#define CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG 8
-#define CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG 16384
-#define CERT_STORE_PROV_SYSTEM 10
-#define CERT_SYSTEM_STORE_LOCAL_MACHINE 131072
-#define szOID_PKIX_KP_SERVER_AUTH "4235600"
-#define szOID_SERVER_GATED_CRYPTO "4235658"
-#define szOID_SGC_NETSCAPE "2.16.840.1.113730.4.1"
-#define szOID_PKIX_KP_CLIENT_AUTH "1.3.6.1.5.5.7.3.2"
-#define CRYPT_NOHASHOID 0x00000001
-#define CRYPT_NO_SALT 0x10
-#define CRYPT_PREGEN 0x40
-#define CRYPT_RECIPIENT 0x10
-#define CRYPT_INITIATOR 0x40
-#define CRYPT_ONLINE 0x80
-#define CRYPT_SF 0x100
-#define CRYPT_CREATE_IV 0x200
-#define CRYPT_KEK 0x400
-#define CRYPT_DATA_KEY 0x800
-#define CRYPT_VOLATILE 0x1000
-#define CRYPT_SGCKEY 0x2000
-#define KP_IV 0x00000001
-#define KP_SALT 0x00000002
-#define KP_PADDING 0x00000003
-#define KP_MODE 0x00000004
-#define KP_MODE_BITS 0x00000005
-#define KP_PERMISSIONS 0x00000006
-#define KP_ALGID 0x00000007
-#define KP_BLOCKLEN 0x00000008
-#define KP_KEYLEN 0x00000009
-#define KP_SALT_EX 0x0000000a
-#define KP_P 0x0000000b
-#define KP_G 0x0000000c
-#define KP_Q 0x0000000d
-#define KP_X 0x0000000e
-#define KP_Y 0x0000000f
-#define KP_RA 0x00000010
-#define KP_RB 0x00000011
-#define KP_INFO 0x00000012
-#define KP_EFFECTIVE_KEYLEN 0x00000013
-#define KP_SCHANNEL_ALG 0x00000014
-#define KP_PUB_PARAMS 0x00000027
-#define CRYPT_FLAG_PCT1 0x0001
-#define CRYPT_FLAG_SSL2 0x0002
-#define CRYPT_FLAG_SSL3 0x0004
-#define CRYPT_FLAG_TLS1 0x0008
-#define CRYPT_FLAG_IPSEC 0x0010
-#define CRYPT_FLAG_SIGNING 0x0020
-#define SCHANNEL_MAC_KEY 0x00000000
-#define SCHANNEL_ENC_KEY 0x00000001
-#define INTERNATIONAL_USAGE 0x00000001
-#if (WINVER >= 0x0501) /* Windows Server 2003, Windows XP */
-#define CMC_ADD_ATTRIBUTES (LPCSTR) 63
-#define CMC_ADD_EXTENSIONS (LPCSTR) 62
-#define X509_CERT_PAIR (LPCSTR) 53
-#define X509_CERTIFICATE_TEMPLATE (LPCSTR) 64
-#define X509_CROSS_CERT_DIST_POINTS (LPCSTR) 58
-#define CMC_DATA (LPCSTR) 59
-#define X509_NAME_CONSTRAINTS (LPCSTR) 55
-#define X509_POLICY_CONSTRAINTS (LPCSTR) 57
-#define X509_POLICY_MAPPINGS (LPCSTR) 56
-#define CMC_RESPONSE (LPCSTR) 60
-#define CMC_STATUS (LPCSTR) 61
-#endif /* (WINVER >= 0x0501) */ /* Windows Server 2003, Windows XP */
-#define X509_ALGORITHM_IDENTIFIER (LPCSTR) 74
-#define X509_ALTERNATE_NAME (LPCSTR) 12
-/* need X509_ANY_STRING */
-#define PKCS_ATTRIBUTE (LPCSTR) 22
-#define X509_AUTHORITY_INFO_ACCESS (LPCSTR) 32
-#define X509_AUTHORITY_KEY_ID (LPCSTR) 9
-#define X509_AUTHORITY_KEY_ID2 (LPCSTR) 31
-#define szOID_BASIC_CONSTRAINTS "2.5.29.10"
-#define X509_BASIC_CONSTRAINTS2 (LPCSTR) 15
-#define X509_BIOMETRIC_EXT (LPCSTR) 71
-#define X509_BITS (LPCSTR) 26
-#define X509_CERT (LPCSTR) 1
-#define X509_CERT_CRL_TO_BE_SIGNED (LPCSTR) 3
-#define X509_CERT_POLICIES (LPCSTR) 16
-#define X509_CERT_REQUEST_TO_BE_SIGNED (LPCSTR) 4
-#define X509_CERT_TO_BE_SIGNED (LPCSTR) 2
-#define X509_CHOICE_OF_TIME (LPCSTR) 30
-#define PKCS_CONTENT_INFO (LPCSTR) 33
-#define PKCS_CONTENT_INFO_SEQUENCE_OF_ANY (LPCSTR) 23
-#define X509_CRL_DIST_POINTS (LPCSTR) 35
-/* need X509_CRL_REASON_CODE */
-#define RSA_CSP_PUBLICKEYBLOB (LPCSTR) 19
-#define PKCS_CTL (LPCSTR) 37
-#define X509_DSS_PARAMETERS (LPCSTR) 39
-/* need X509_DSS_PUBLICKEY */
-#define X509_DSS_SIGNATURE (LPCSTR) 40
-#define X509_ECC_SIGNATURE (LPCSTR) 47
-#define X509_ENHANCED_KEY_USAGE (LPCSTR) 36
-#define X509_ENUMERATED (LPCSTR) 29
-#define X509_EXTENSIONS (LPCSTR) 5
-#define X509_INTEGER (LPCSTR) 27
-#define X509_ISSUING_DIST_POINT (LPCSTR) 54
-#define X509_KEY_ATTRIBUTES (LPCSTR) 10
-#define X509_KEY_USAGE (LPCSTR) 14
-#define X509_KEY_USAGE_RESTRICTION (LPCSTR) 11
-#define X509_KEYGEN_REQUEST_TO_BE_SIGNED (LPCSTR) 21
-#define X509_LOGOTYPE_EXT (LPCSTR) 70
-#define X509_MULTI_BYTE_INTEGER (LPCSTR) 28
-#define X509_MULTI_BYTE_UINT (LPCSTR) 38
-#define X509_NAME (LPCSTR) 7
-#define X509_NAME_VALUE (LPCSTR) 6
-#define X509_OBJECT_IDENTIFIER (LPCSTR) 73
-#define X509_OCTET_STRING (LPCSTR) 25
-#define X509_PUBLIC_KEY_INFO (LPCSTR) 8
-#define PKCS_RC2_CBC_PARAMETERS (LPCSTR) 41
-#define CNG_RSA_PUBLIC_KEY_BLOB (LPCSTR) 72
-#define PKCS_RSA_SSA_PSS_PARAMETERS (LPCSTR) 75
-#define PKCS_RSAES_OAEP_PARAMETERS (LPCSTR) 76
-#define ECC_CMS_SHARED_INFO (LPCSTR) 77
-#define X509_SEQUENCE_OF_ANY (LPCSTR) 34
-#define PKCS7_SIGNER_INFO (LPCSTR) 500
-#define CMS_SIGNER_INFO (LPCSTR) 501
-#define PKCS_SMIME_CAPABILITIES (LPCSTR) 42
-#define PKCS_TIME_REQUEST (LPCSTR) 18
-/* need X509_UNICODE_ANY_STRING */
-#define X509_UNICODE_NAME (LPCSTR) 20
-#define X509_UNICODE_NAME_VALUE (LPCSTR) 24
-#define PKCS_UTC_TIME (LPCSTR) 17
-#define OCSP_SIGNED_REQUEST (LPCSTR) 65
-#define OCSP_REQUEST (LPCSTR) 66
-#define OCSP_RESPONSE (LPCSTR) 67
-#define OCSP_BASIC_SIGNED_RESPONSE (LPCSTR) 68
-#define OCSP_BASIC_RESPONSE (LPCSTR) 69
-enum { CRL_REASON_UNSPECIFIED=0,
- CRL_REASON_KEY_COMPROMISE=1,
- CRL_REASON_CA_COMPROMISE=2,
- CRL_REASON_AFFILIATION_CHANGED=3,
- CRL_REASON_SUPERSEDED=4,
- CRL_REASON_CESSATION_OF_OPERATION=5,
- CRL_REASON_CERTIFICATE_HOLD=6,
- CRL_REASON_REMOVE_FROM_CRL=7
- };
-/* need CRYPT_DECODE_NOCOPY_FLAG */
-#define CRYPT_ENCODE_ALLOC_FLAG 0x8000
-#define CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG 0x40000000
-#define CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG 0x80000000
-#define CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG 0x20000000
-#define CRYPT_UNICODE_NAME_ENCODE_FORCE_UTF8_UNICODE_FLAG 0x10000000
-
-
-#define szOID_RSA "1.2.840.113549"
-#define szOID_PKCS "1.2.840.113549.1"
-#define szOID_RSA_HASH "1.2.840.113549.2"
-#define szOID_RSA_ENCRYPT "1.2.840.113549.3"
-#define szOID_PKCS_1 "1.2.840.113549.1.1"
-#define szOID_PKCS_2 "1.2.840.113549.1.2"
-#define szOID_PKCS_3 "1.2.840.113549.1.3"
-#define szOID_PKCS_4 "1.2.840.113549.1.4"
-#define szOID_PKCS_5 "1.2.840.113549.1.5"
-#define szOID_PKCS_6 "1.2.840.113549.1.6"
-#define szOID_PKCS_7 "1.2.840.113549.1.7"
-#define szOID_PKCS_8 "1.2.840.113549.1.8"
-#define szOID_PKCS_9 "1.2.840.113549.1.9"
-#define szOID_PKCS_10 "1.2.840.113549.1.10"
-#define szOID_PKCS_12 "1.2.840.113549.1.12"
-#define szOID_RSA_MD2 "1.2.840.113549.1.1.2"
-#define szOID_RSA_MD4 "1.2.840.113549.1.1.3"
-#define szOID_RSA_MD5 "1.2.840.113549.2.5"
-#define szOID_RSA_RSA "1.2.840.113549.1.1.1"
-#define szOID_RSA_MD2RSA "1.2.840.113549.1.1.2"
-#define szOID_RSA_MD4RSA "1.2.840.113549.1.1.3"
-#define szOID_RSA_MD5RSA "1.2.840.113549.1.1.4"
-#define szOID_RSA_SHA1RSA "1.2.840.113549.1.1.5"
-#define szOID_RSA_SETOAEP_RSA "1.2.840.113549.1.1.5"
-#define szOID_RSA_DH "1.2.840.113549.1.3.1"
-#define szOID_RSA_data "1.2.840.113549.1.7.1"
-#define szOID_RSA_signedData "1.2.840.113549.1.7.2"
-#define szOID_RSA_envelopedData "1.2.840.113549.1.7.3"
-#define szOID_RSA_signEnvData "1.2.840.113549.1.7.4"
-#define szOID_RSA_digestedData "1.2.840.113549.1.7.5"
-#define szOID_RSA_hashedData "1.2.840.113549.1.7.5"
-#define szOID_RSA_encryptedData "1.2.840.113549.1.7.6"
-#define szOID_RSA_emailAddr "1.2.840.113549.1.9.1"
-#define szOID_RSA_unstructName "1.2.840.113549.1.9.2"
-#define szOID_RSA_contentType "1.2.840.113549.1.9.3"
-#define szOID_RSA_messageDigest "1.2.840.113549.1.9.4"
-#define szOID_RSA_signingTime "1.2.840.113549.1.9.5"
-#define szOID_RSA_counterSign "1.2.840.113549.1.9.6"
-#define szOID_RSA_challengePwd "1.2.840.113549.1.9.7"
-#define szOID_RSA_unstructAddr "1.2.840.113549.1.9.8"
-#define szOID_RSA_extCertAttrs "1.2.840.113549.1.9.9"
-#define szOID_RSA_SMIMECapabilities "1.2.840.113549.1.9.15"
-#define szOID_RSA_preferSignedData "1.2.840.113549.1.9.15.1"
-#define szOID_RSA_RC2CBC "1.2.840.113549.3.2"
-#define szOID_RSA_RC4 "1.2.840.113549.3.4"
-#define szOID_RSA_DES_EDE3_CBC "1.2.840.113549.3.7"
-#define szOID_RSA_RC5_CBCPad "1.2.840.113549.3.9"
-#define szOID_ANSI_x942 "1.2.840.10046"
-#define szOID_ANSI_x942_DH "1.2.840.10046.2.1"
-#define szOID_X957 "1.2.840.10040"
-#define szOID_X957_DSA "1.2.840.10040.4.1"
-#define szOID_DATA STRUCTURE "1.2.840.10040.4.3"
-#define szOID_DS "2.5"
-#define szOID_DSALG "2.5.8"
-#define szOID_DSALG_CRPT "2.5.8.1"
-#define szOID_DSALG_HASH "2.5.8.2"
-#define szOID_DSALG_SIGN "2.5.8.3"
-#define szOID_DSALG_RSA "2.5.8.1.1"
-#define szOID_OIW "1.3.14"
-#define szOID_OIWSEC "1.3.14.3.2"
-#define szOID_OIWSEC_md4RSA "1.3.14.3.2.2"
-#define szOID_OIWSEC_md5RSA "1.3.14.3.2.3"
-#define szOID_OIWSEC_md4RSA2 "1.3.14.3.2.4"
-#define szOID_OIWSEC_desECB "1.3.14.3.2.6"
-#define szOID_OIWSEC_desCBC "1.3.14.3.2.7"
-#define szOID_OIWSEC_desOFB "1.3.14.3.2.8"
-#define szOID_OIWSEC_desCFB "1.3.14.3.2.9"
-#define szOID_OIWSEC_desMAC "1.3.14.3.2.10"
-#define szOID_OIWSEC_rsaSign "1.3.14.3.2.11"
-#define szOID_OIWSEC_dsa "1.3.14.3.2.12"
-#define szOID_OIWSEC_shaDSA "1.3.14.3.2.13"
-#define szOID_OIWSEC_mdc2RSA "1.3.14.3.2.14"
-#define szOID_OIWSEC_shaRSA "1.3.14.3.2.15"
-#define szOID_OIWSEC_dhCommMod "1.3.14.3.2.16"
-#define szOID_OIWSEC_desEDE "1.3.14.3.2.17"
-#define szOID_OIWSEC_sha "1.3.14.3.2.18"
-#define szOID_OIWSEC_mdc2 "1.3.14.3.2.19"
-#define szOID_OIWSEC_dsaComm "1.3.14.3.2.20"
-#define szOID_OIWSEC_dsaCommSHA "1.3.14.3.2.21"
-#define szOID_OIWSEC_rsaXchg "1.3.14.3.2.22"
-#define szOID_OIWSEC_keyHashSeal "1.3.14.3.2.23"
-#define szOID_OIWSEC_md2RSASign "1.3.14.3.2.24"
-#define szOID_OIWSEC_md5RSASign "1.3.14.3.2.25"
-#define szOID_OIWSEC_sha1 "1.3.14.3.2.26"
-#define szOID_OIWSEC_dsaSHA1 "1.3.14.3.2.27"
-#define szOID_OIWSEC_dsaCommSHA1 "1.3.14.3.2.28"
-#define szOID_OIWSEC_sha1RSASign "1.3.14.3.2.29"
-#define szOID_OIWDIR "1.3.14.7.2"
-#define szOID_OIWDIR_CRPT "1.3.14.7.2.1"
-#define szOID_OIWDIR_HASH "1.3.14.7.2.2"
-#define szOID_OIWDIR_SIGN "1.3.14.7.2.3"
-#define szOID_OIWDIR_md2 "1.3.14.7.2.2.1"
-#define szOID_OIWDIR_md2RSA "1.3.14.7.2.3.1"
-#define szOID_INFOSEC "2.16.840.1.101.2.1"
-#define szOID_INFOSEC_sdnsSignature "2.16.840.1.101.2.1.1.1"
-#define szOID_INFOSEC_mosaicSignature "2.16.840.1.101.2.1.1.2"
-#define szOID_INFOSEC_sdnsConfidentiality "2.16.840.1.101.2.1.1.3"
-#define szOID_INFOSEC_mosaicConfidentiality "2.16.840.1.101.2.1.1.4"
-#define szOID_INFOSEC_sdnsIntegrity "2.16.840.1.101.2.1.1.5"
-#define szOID_INFOSEC_mosaicIntegrity "2.16.840.1.101.2.1.1.6"
-#define szOID_INFOSEC_sdnsTokenProtection "2.16.840.1.101.2.1.1.7"
-#define szOID_INFOSEC_mosaicTokenProtection "2.16.840.1.101.2.1.1.8"
+#define GET_ALG_CLASS(x) ((x) & ALG_CLASS_ALL)
+#define GET_ALG_TYPE(x) ((x) & 0x1E00) /* x & 7680 */
+#define GET_ALG_SID(x) ((x) & 0x01FF) /* x & 511 */
+
+#define ALG_CLASS_ANY 0
+#define ALG_CLASS_SIGNATURE 0x2000 /* 8192 */
+#define ALG_CLASS_MSG_ENCRYPT 0x4000 /* 16384 */
+#define ALG_CLASS_DATA_ENCRYPT 0x6000 /* 24576 */
+#define ALG_CLASS_HASH 0x8000 /* 32768 */
+#define ALG_CLASS_KEY_EXCHANGE 0xA000 /* 40960 */
+#define ALG_CLASS_ALL 0xE000 /* (0x0007 << 13) */
+
+#define ALG_TYPE_ANY 0
+#define ALG_TYPE_DSS 0x0200 /* 512 */
+#define ALG_TYPE_RSA 0x0400 /* 1024 */
+#define ALG_TYPE_BLOCK 0x0600 /* 1536 */
+#define ALG_TYPE_STREAM 0x0800 /* 2048 */
+#define ALG_TYPE_DH 0x0A00 /* (0x0005 << 9) */
+#define ALG_TYPE_SECURECHANNEL 0x0C00 /* (6 << 9) */
+
+#define ALG_SID_ANY 0
+
+#define ALG_SID_RSA_ANY 0
+#define ALG_SID_RSA_PKCS 1
+#define ALG_SID_RSA_MSATWORK 2
+#define ALG_SID_RSA_ENTRUST 3
+#define ALG_SID_RSA_PGP 4
+
+#define ALG_SID_DSS_ANY 0
+#define ALG_SID_DSS_PKCS 1
+#define ALG_SID_DSS_DMS 2
+
+#define ALG_SID_DES 1
+#define ALG_SID_3DES 3
+#define ALG_SID_DESX 4
+#define ALG_SID_IDEA 5
+#define ALG_SID_CAST 6
+#define ALG_SID_SAFERSK64 7
+#define ALG_SID_SAFERSK128 8
+#define ALG_SID_3DES_112 9
+#define ALG_SID_SKIPJACK 10
+#define ALG_SID_TEK 11
+#define ALG_SID_CYLINK_MEK 12
+#define ALG_SID_RC5 13
+
+#define ALG_SID_RC4 1
+#define ALG_SID_RC2 2
+
+#define ALG_SID_SEAL 2
+
+#define ALG_SID_MD2 1
+#define ALG_SID_MD4 2
+#define ALG_SID_MD5 3
+#define ALG_SID_SHA 4
+#define ALG_SID_MAC 5
+#define ALG_SID_RIPEMD 6
+#define ALG_SID_RIPEMD160 7
+#define ALG_SID_SSL3SHAMD5 8
+#define ALG_SID_HMAC 9
+#define ALG_SID_TLS1PRF 10
+#define ALG_SID_AES_128 14
+#define ALG_SID_AES_192 15
+#define ALG_SID_AES_256 16
+#define ALG_SID_AES 17
+#define ALG_SID_EXAMPLE 80
+
+#define CALG_MD2 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD2)
+#define CALG_MD4 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD4)
+#define CALG_MD5 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD5)
+#define CALG_SHA (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA)
+#define CALG_SHA1 CALG_SHA
+#define CALG_MAC (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MAC)
+#define CALG_3DES (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | 3)
+#define CALG_CYLINK_MEK (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | 12)
+#define CALG_SKIPJACK (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_BLOCK | 10)
+#define CALG_KEA_KEYX (ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_STREAM | ALG_TYPE_DSS | 4)
+#define CALG_RSA_SIGN (ALG_CLASS_SIGNATURE | ALG_TYPE_RSA | ALG_SID_RSA_ANY)
+#defin...
[truncated message content] |
|
From: Keith M. <no...@so...> - 2016-05-19 21:52:22
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, 5.0-dev has been deleted
was 1df8c72818cb13714273631f2acc8c05c9453ac2
-----------------------------------------------------------------------
1df8c72818cb13714273631f2acc8c05c9453ac2 * Makefile.in: Adjust distributed package names when RELEASE_STATUS is not equal "dist".
-----------------------------------------------------------------------
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-05-19 21:32:35
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via c07c0f345bb486b18c59af559ea1a6af4037a2a0 (commit)
via 801698e312fcb850ab7e1d9acf8d44044dcb0829 (commit)
from f7deb7c7ef7576b223e0261f85135ba76bc2e2a4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/c07c0f345bb486b18c59af559ea1a6af4037a2a0/
commit c07c0f345bb486b18c59af559ea1a6af4037a2a0
Author: Keith Marshall <kei...@us...>
Date: Thu May 19 22:28:31 2016 +0100
Occlude unsupported _S_IFBLK feature; resolve issue [#1146].
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 3ed92d0..e2677bd 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,15 @@
+2016-05-19 Keith Marshall <kei...@us...>
+
+ Occlude unsupported _S_IFBLK feature; resolve issue [#1146].
+
+ * include/sys/stat.h (_MINGW_S_IFBLK_KLUDGE): New feature test macro;
+ do not define it, and strongly recommend that it remains undefined.
+ [!_MINGW_S_IFBLK_KLUDGE] (_S_IFBLK, S_IFBLK): Do not define them.
+ [!_MINGW_S_IFBLK_KLUDGE] (_S_ISBLK, S_ISBLK): Poison them.
+ [_MINGW_S_IFBLK_KLUDGE] (_S_IFBLK, S_IFBLK): Adjust definitions; use a
+ modified value, which is guaranteed to be impossible to match in...
+ [_S_ISBLK, S_ISBLK]: ...these, thus enforcing false test results.
+
2016-05-18 Keith Marshall <kei...@us...>
Fix a typo in a <sys/stat.h> inline function definition.
diff --git a/mingwrt/include/sys/stat.h b/mingwrt/include/sys/stat.h
index 2a44d91..fb84d90 100644
--- a/mingwrt/include/sys/stat.h
+++ b/mingwrt/include/sys/stat.h
@@ -59,10 +59,24 @@
*/
#define _S_IFIFO 0x1000 /* FIFO */
#define _S_IFCHR 0x2000 /* Character */
-#define _S_IFBLK 0x3000 /* Block: Is this ever set under w32? */
#define _S_IFDIR 0x4000 /* Directory */
#define _S_IFREG 0x8000 /* Regular */
+#ifdef _MINGW_S_IFBLK_KLUDGE
+/* For preference, this kludge should NOT be enabled; for rationale,
+ * see: https://sourceforge.net/p/mingw/bugs/1146
+ *
+ * MS-Windows doesn't support testing for block special devices via the
+ * st_mode flags; ideally, client code to be ported to Windows should not
+ * blindly assume that S_IFBLK (or _S_IFBLK) is defined, but should rather
+ * check for it, and compile dependent code conditionally. Notwithstanding,
+ * this kludge allows the user to force a definition, which we arbitrarily
+ * choose to ensure that S_ISBLK (or _S_ISBLK) always returns FALSE, (i.e.
+ * choose a value such that _S_IFBLK & _S_IFMT can NEVER equal _S_IFBLK).
+ */
+#define _S_IFBLK 0x3001 /* Block: unsupported on Win32 */
+#endif
+
#define _S_IFMT 0xF000 /* File type mask */
#define _S_IEXEC 0x0040
@@ -84,7 +98,9 @@
#define S_IFIFO _S_IFIFO
#define S_IFCHR _S_IFCHR
+#ifdef _S_IFBLK
#define S_IFBLK _S_IFBLK
+#endif
#define S_IFDIR _S_IFDIR
#define S_IFREG _S_IFREG
#define S_IFMT _S_IFMT
@@ -103,6 +119,15 @@
#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
#endif /* !_NO_OLDNAMES */
+
+#ifndef _S_IFBLK
+/* When the _S_IFBLK kludge is NOT enabled, (as it ideally should not be),
+ * ensure that any attempt to use its dependent macros is firmly denied.
+ */
+# pragma GCC poison _S_ISBLK
+# pragma GCC poison S_ISBLK
+
+#endif /* !_S_IFBLK */
#endif /* !__WCHAR_H_SOURCED__ */
#ifndef RC_INVOKED
https://sf.net/p/mingw/mingw-org-wsl/ci/801698e312fcb850ab7e1d9acf8d44044dcb0829/
commit 801698e312fcb850ab7e1d9acf8d44044dcb0829
Author: Keith Marshall <kei...@us...>
Date: Wed May 18 15:08:20 2016 +0100
Fix a typo in a <sys/stat.h> inline function definition.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index d9b3edb..3ed92d0 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,11 @@
+2016-05-18 Keith Marshall <kei...@us...>
+
+ Fix a typo in a <sys/stat.h> inline function definition.
+
+ * include/sys/stat.h [__MSVCRT_VERSION__ >= __MSVCR80_DLL]
+ (stat): First argument declared as 'int'; should be 'const char *';
+ correct it.
+
2016-05-12 Keith Marshall <kei...@us...>
Resolve some strnlen() implementation issues.
diff --git a/mingwrt/include/sys/stat.h b/mingwrt/include/sys/stat.h
index 94c9b7c..2a44d91 100644
--- a/mingwrt/include/sys/stat.h
+++ b/mingwrt/include/sys/stat.h
@@ -288,7 +288,7 @@ __CRT_ALIAS __cdecl __MINGW_NOTHROW int _stati64 (const char *__v1, struct _sta
__CRT_ALIAS __cdecl __MINGW_NOTHROW int fstat (int __v1, struct _stat *__v2)
{ return _fstat (__v1, __v2); }
-__CRT_ALIAS __cdecl __MINGW_NOTHROW int stat (int __v1, struct _stat *__v2)
+__CRT_ALIAS __cdecl __MINGW_NOTHROW int stat (const char *__v1, struct _stat *__v2)
{ return _stat (__v1, __v2); }
#endif /* !_NO_OLDNAMES */
-----------------------------------------------------------------------
Summary of changes:
mingwrt/ChangeLog | 20 ++++++++++++++++++++
mingwrt/include/sys/stat.h | 29 +++++++++++++++++++++++++++--
2 files changed, 47 insertions(+), 2 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-05-12 20:45:23
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via f7deb7c7ef7576b223e0261f85135ba76bc2e2a4 (commit)
from 4a33949cac1e811d0b0a892dabec652290694b21 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/f7deb7c7ef7576b223e0261f85135ba76bc2e2a4/
commit f7deb7c7ef7576b223e0261f85135ba76bc2e2a4
Author: Keith Marshall <kei...@us...>
Date: Thu May 12 13:51:37 2016 +0100
Resolve some strnlen() implementation issues.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 7d9c574..d9b3edb 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,22 @@
+2016-05-12 Keith Marshall <kei...@us...>
+
+ Resolve some strnlen() implementation issues.
+
+ * mingwex/strnlen.s (__mingw_strnlen) [!NUL]: Correct termination
+ logic; should have used jnz, not jz, to skip endpoint adjustment on
+ scanning past a terminal NUL character code.
+
+ * include/string.h [_POSIX_C_SOURCE >= 200809L] (strnlen): Do not
+ #define it, as this breaks GCC compilation; use __CRT_ALIAS instead,
+ with __JMPSTUB__ referencing via "oldname" libraries.
+
+ * Makefile.in (jmpstub_awk_script, libimpl_awk_script): Adapt to
+ facilitate assignment of __JMPSTUB__ and __LIBIMPL__ references to
+ libraries other than libmingwex.a
+ (strnlen.jmpstub.$OBJEXT): Assign it to all "moldname" libraries prior
+ to libmoldname80.a, in addition to libcoldname.a, as specified by the
+ __JMPSTUB__ assignment within <string.h>
+
2016-05-03 Keith Marshall <kei...@us...>
Enforce consistent specification of package version.
diff --git a/mingwrt/Makefile.in b/mingwrt/Makefile.in
index 9da8d14..d5017f7 100644
--- a/mingwrt/Makefile.in
+++ b/mingwrt/Makefile.in
@@ -376,6 +376,15 @@ $(foreach name,coldname $(all_moldname),lib$(name).a): lib%.a: %.def
$(foreach name,coldname $(all_moldname),lib$(name).a): $(addsuffix .$(OBJEXT), \
isascii iscsym iscsymf toascii)
+# Selected versions of the oldname libraries also provide a
+# convenient vehicle for delivery of stubs, emulating functions
+# which appear in later MSVCRT versions, and which we also wish
+# to support in conjunction with earlier versions.
+#
+$(foreach name,moldname $(addprefix moldname,70 71),lib$(name).a) \
+$(foreach name,moldname $(addprefix moldname,70 71),lib$(name)d.a): \
+ strnlen.jmpstub.$(OBJEXT)
+
coldname.def: %.def: ${mingwrt_srcdir}/moldname.def.in
$(CC) -C -E -P -D__FILENAME__=$@ -D__CRTDLL__ -xc-header $< > $@
@@ -545,8 +554,8 @@ jmpstub_awk_script = test -z "$1" || awk '\
fmt = "\nlib%s.a: %s\n%s: jmpstub.sx\n\t$$(COMPILE.sx) %s -o $$@ $$^\n"; \
} \
/__JMPSTUB(__)? *[(].*FUNCTION/ { \
- LIB = "mingwex"; \
FUNCTION = gensub( ".*[ ,(:]FUNCTION *= *"symbol".*", "\\1", 1 ); \
+ LIB = match( $$0, ".*[ ,(:]LIB *= *"symbol, altlib ) ? altlib[1] : "mingwex"; \
OBJNAME = gensub( "_*(.*)_*", "\\1", 1, FUNCTION )".jmpstub.$$(OBJEXT)"; \
OBJNAME_CFLAGS = "-D FUNCTION="FUNCTION; \
if( match( $$0, ".*[ ,(:]REMAPPED *= *"symbol, alias ) ) \
@@ -566,8 +575,8 @@ libimpl_awk_script = test -z "$1" || awk '\
fmt = "\nlib%s.a: %s\n%s.libimpl: %s\n"; \
} \
/__LIBIMPL(__)? *[(].*FUNCTION/ { \
- LIB = "mingwex"; \
FUNCTION = gensub( ".*[ ,(:]FUNCTION *= *"symbol".*", "\\1", 1 ); \
+ LIB = match( $$0, ".*[ ,(:]LIB *= *"symbol, altlib ) ? altlib[1] : "mingwex"; \
OBJNAME = gensub( "_*(.*)_*", "\\1", 1, FUNCTION )".libimpl.$$(OBJEXT)"; \
printf fmt, LIB, OBJNAME, FUNCTION, FILENAME; \
} \
diff --git a/mingwrt/include/string.h b/mingwrt/include/string.h
index c617ca9..2e5940b 100644
--- a/mingwrt/include/string.h
+++ b/mingwrt/include/string.h
@@ -168,15 +168,15 @@ _CRTIMP __cdecl __MINGW_NOTHROW char *strnlen (const char *, size_t);
* the GCC breakage noted above. (Note that we implement strnlen() with
* the alternative external name, __mingw_strnlen() in libmingwex.a, to
* avoid possible link time collision with MSVCR80.DLL's implementation,
- * then map this to strnlen() via a preprocessor define, so that users
- * may use it conventionally, (including taking its address); this may
- * interfere with C++ namespace qualification, but since strnlen() is
- * not a standard C++ function, we do not anticipate any consequent
- * usage issues).
+ * then map this to strnlen() via a __CRT_ALIAS, with stubs designated
+ * for linking from within the appropriate oldname libraries.
*/
-#define strnlen __mingw_strnlen
extern size_t __mingw_strnlen (const char *, size_t);
+__JMPSTUB__(( LIB=coldname; FUNCTION=strnlen ))
+__CRT_ALIAS size_t strnlen (const char *__text, size_t __maxlen)
+{ return __mingw_strnlen (__text, __maxlen); }
+
#endif /* _POSIX_C_SOURCE >= 200809L */
#undef __STRING_H_SOURCED__
diff --git a/mingwrt/mingwex/strnlen.s b/mingwrt/mingwex/strnlen.s
index e023a69..66d7b49 100644
--- a/mingwrt/mingwex/strnlen.s
+++ b/mingwrt/mingwex/strnlen.s
@@ -80,8 +80,8 @@ ___mingw_strnlen:
movl %edx, %edi /* using this as the scan pointer ... */
repne scasb /* as required by this CPU scan */
mov %edi, %eax /* note where we stopped ... */
- jz .L3 /* but if we found NUL, we've overrun ... */
- decl %eax /* so we need to adjust one byte backward */
+ jnz .L3 /* no NUL found; count is complete ... */
+ decl %eax /* NUL found and counted; discount it */
.L3:
sub %edx, %eax /* compute effective count to return */
.L4:
-----------------------------------------------------------------------
Summary of changes:
mingwrt/ChangeLog | 19 +++++++++++++++++++
mingwrt/Makefile.in | 13 +++++++++++--
mingwrt/include/string.h | 12 ++++++------
mingwrt/mingwex/strnlen.s | 4 ++--
4 files changed, 38 insertions(+), 10 deletions(-)
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-05-04 19:37:22
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via 4a33949cac1e811d0b0a892dabec652290694b21 (commit)
from 72735879313668626931215ec85dc0e8b90b59a4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/4a33949cac1e811d0b0a892dabec652290694b21/
commit 4a33949cac1e811d0b0a892dabec652290694b21
Author: Keith Marshall <kei...@us...>
Date: Wed May 4 20:34:24 2016 +0100
Eliminate redundant <parts/winioctl.h> header.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 4dbed4e..a95157e 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,18 @@
+2016-05-04 Keith Marshall <kei...@us...>
+
+ Eliminate redundant <parts/winioctl.h> header.
+
+ * include/parts/winioctl.h: Delete it; distribute its content...
+ * include/ddk/winddk.h include/ddk/ntddstor.h include/ddk/ntdddisk.h:
+ ...among these, separating it into discrete sections based on...
+ [__need_ddk_winddk_includes, __need_ddk_ntddstor_includes]
+ [__need_ddk_ntdddisk_includes]: ...these selectors, respectively.
+ [__WINIOCTL_H_SOURCED__]: Expose only those sections; do not define...
+ (_DDK_WINDDK_H, _DDK_NTDDSTOR_H, _DDK_NTDDDISK_H): ...these.
+
+ * include/winioctl.h (__WINIOCTL_H_SOURCED__): Define it; include each
+ of <ddk/winddk.h>, <ddk/ntddstor.h>, and <ddk/ntdddisk.h>
+
2016-05-03 Keith Marshall <kei...@us...>
Enforce consistent specification of package version.
diff --git a/w32api/include/ddk/ntdddisk.h b/w32api/include/ddk/ntdddisk.h
index c34cad6..76314f4 100644
--- a/w32api/include/ddk/ntdddisk.h
+++ b/w32api/include/ddk/ntdddisk.h
@@ -4,7 +4,7 @@
* Driver Development Kit -- Disk IOCTL interface.
*
* Written by Casper S. Hornstrup <ch...@us...>
- * Copyright (C) 2002-2004, 2015, MinGW.org Project.
+ * Copyright (C) 2002-2004, 2015, 2016, MinGW.org Project.
*
*
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -28,14 +28,384 @@
*
*/
#ifndef _DDK_NTDDDISK_H
-#define _DDK_NTDDDISK_H
#pragma GCC system_header
+/* This file supports partial inclusion by <winioctl.h>; defer definition
+ * of its normal repeat inclusion guard macro...
+ */
+#ifndef __WINIOCTL_H_SOURCED__
+/* ...until we've ascertained that this is NOT such partial inclusion.
+ */
+#define _DDK_NTDDDISK_H
+
+/* In case of full inclusion, we must also include the full content of:
+ */
#include "ntddk.h"
+#endif
+
+/* In either case, we always include <ddk/ntddstor.h>, either in full,
+ * or under the same criterion of selectivity as for this file itself.
+ */
#include "ntddstor.h"
-#include <parts/winioctl.h>
+#if ! (defined _DDK_NTDDDISK_H && defined _WINIOCTL_H)
+/* The content of this section is common to both <ddk/ntdddisk.h> and
+ * <winioctl.h>. If both repeat inclusion guards are already defined,
+ * then we've already seen it; there is no need to process it again.
+ */
+#define __IOCTL_DISK_(FN,M,A) CTL_CODE(IOCTL_DISK_BASE,(FN),(M),(A))
+
+#define IOCTL_DISK_BASE FILE_TYPE_DISK
+#define IOCTL_DISK_GET_DRIVE_GEOMETRY __IOCTL_DISK_(0x0000,__FILE_AM_BUFFERED)
+#define IOCTL_DISK_GET_PARTITION_INFO __IOCTL_DISK_(0x0001,__FILE_RD_BUFFERED)
+#define IOCTL_DISK_SET_PARTITION_INFO __IOCTL_DISK_(0x0002,__FILE_RW_BUFFERED)
+#define IOCTL_DISK_GET_DRIVE_LAYOUT __IOCTL_DISK_(0x0003,__FILE_RD_BUFFERED)
+#define IOCTL_DISK_SET_DRIVE_LAYOUT __IOCTL_DISK_(0x0004,__FILE_RW_BUFFERED)
+#define IOCTL_DISK_VERIFY __IOCTL_DISK_(0x0005,__FILE_AM_BUFFERED)
+#define IOCTL_DISK_FORMAT_TRACKS __IOCTL_DISK_(0x0006,__FILE_RW_BUFFERED)
+#define IOCTL_DISK_REASSIGN_BLOCKS __IOCTL_DISK_(0x0007,__FILE_RW_BUFFERED)
+#define IOCTL_DISK_PERFORMANCE __IOCTL_DISK_(0x0008,__FILE_AM_BUFFERED)
+#define IOCTL_DISK_IS_WRITABLE __IOCTL_DISK_(0x0009,__FILE_AM_BUFFERED)
+#define IOCTL_DISK_FORMAT_TRACKS_EX __IOCTL_DISK_(0x000B,__FILE_RW_BUFFERED)
+#define IOCTL_DISK_GET_PARTITION_INFO_EX __IOCTL_DISK_(0x0012,__FILE_AM_BUFFERED)
+#define IOCTL_DISK_SET_PARTITION_INFO_EX __IOCTL_DISK_(0x0013,__FILE_RW_BUFFERED)
+#define IOCTL_DISK_GET_DRIVE_LAYOUT_EX __IOCTL_DISK_(0x0014,__FILE_AM_BUFFERED)
+#define IOCTL_DISK_SET_DRIVE_LAYOUT_EX __IOCTL_DISK_(0x0015,__FILE_RW_BUFFERED)
+#define IOCTL_DISK_CREATE_DISK __IOCTL_DISK_(0x0016,__FILE_RW_BUFFERED)
+#define IOCTL_DISK_GET_LENGTH_INFO __IOCTL_DISK_(0x0017,__FILE_RD_BUFFERED)
+#define IOCTL_DISK_PERFORMANCE_OFF __IOCTL_DISK_(0x0018,__FILE_AM_BUFFERED)
+#define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX __IOCTL_DISK_(0x0028,__FILE_AM_BUFFERED)
+#define IOCTL_DISK_UPDATE_DRIVE_SIZE __IOCTL_DISK_(0x0032,__FILE_RW_BUFFERED)
+#define IOCTL_DISK_GROW_PARTITION __IOCTL_DISK_(0x0034,__FILE_RW_BUFFERED)
+#define IOCTL_DISK_GET_CACHE_INFORMATION __IOCTL_DISK_(0x0035,__FILE_RD_BUFFERED)
+#define IOCTL_DISK_SET_CACHE_INFORMATION __IOCTL_DISK_(0x0036,__FILE_RW_BUFFERED)
+#define IOCTL_DISK_DELETE_DRIVE_LAYOUT __IOCTL_DISK_(0x0040,__FILE_RW_BUFFERED)
+#define IOCTL_DISK_CHECK_VERIFY __IOCTL_DISK_(0x0200,__FILE_RD_BUFFERED)
+#define IOCTL_DISK_RESERVE __IOCTL_DISK_(0x0204,__FILE_RD_BUFFERED)
+#define IOCTL_DISK_FIND_NEW_DEVICES __IOCTL_DISK_(0x0206,__FILE_RD_BUFFERED)
+#define IOCTL_DISK_GET_MEDIA_TYPES __IOCTL_DISK_(0x0300,__FILE_AM_BUFFERED)
+
+enum
+{ PARTITION_ENTRY_UNUSED = 0x00,
+ PARTITION_FAT_12 = 0x01,
+ PARTITION_XENIX_1 = 0x02,
+ PARTITION_XENIX_2 = 0x03,
+ PARTITION_FAT_16 = 0x04,
+ PARTITION_EXTENDED = 0x05,
+ PARTITION_HUGE = 0x06,
+ PARTITION_IFS = 0x07,
+ PARTITION_OS2BOOTMGR = 0x0A,
+ PARTITION_FAT32 = 0x0B,
+ PARTITION_FAT32_XINT13 = 0x0C,
+ PARTITION_XINT13 = 0x0E,
+ PARTITION_XINT13_EXTENDED = 0x0F,
+ PARTITION_PREP = 0x41,
+ PARTITION_LDM = 0x42,
+ PARTITION_UNIX = 0x63,
+ PARTITION_NTFT = 0x80,
+ VALID_NTFT = 0xC0
+};
+
+#define IsRecognizedPartition( TYPE ) \
+ ( (((TYPE) & PARTITION_NTFT) && (((TYPE) & ~VALID_NTFT) == PARTITION_FAT_12))\
+ || (((TYPE) & PARTITION_NTFT) && (((TYPE) & ~VALID_NTFT) == PARTITION_HUGE))\
+ || (((TYPE) & PARTITION_NTFT) && (((TYPE) & ~VALID_NTFT) == PARTITION_IFS))\
+ || (((TYPE) & PARTITION_NTFT) && (((TYPE) & ~VALID_NTFT) == PARTITION_FAT32))\
+ || (((TYPE) & PARTITION_NTFT) && (((TYPE) & ~VALID_NTFT) == PARTITION_FAT32_XINT13))\
+ || (((TYPE) & PARTITION_NTFT) && (((TYPE) & ~VALID_NTFT) == PARTITION_XINT13))\
+ || ((TYPE) == PARTITION_FAT32) || ((TYPE) == PARTITION_FAT32_XINT13)\
+ || ((TYPE) == PARTITION_FAT_12) || ((TYPE) == PARTITION_FAT_16)\
+ || ((TYPE) == PARTITION_HUGE) || ((TYPE) == PARTITION_IFS)\
+ || ((TYPE) == PARTITION_XINT13)\
+ )
+#define IsContainerPartition( TYPE ) \
+ (((TYPE) == PARTITION_EXTENDED) || ((TYPE) == PARTITION_XINT13_EXTENDED))
+
+typedef
+enum _MEDIA_TYPE
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff562216(v=vs.85).aspx */
+{ Unknown = 0x00,
+ F5_1Pt2_512 = 0x01,
+ F3_1Pt44_512 = 0x02,
+ F3_2Pt88_512 = 0x03,
+ F3_20Pt8_512 = 0x04,
+ F3_720_512 = 0x05,
+ F5_360_512 = 0x06,
+ F5_320_512 = 0x07,
+ F5_320_1024 = 0x08,
+ F5_180_512 = 0x09,
+ F5_160_512 = 0x0A,
+ RemovableMedia = 0x0B,
+ FixedMedia = 0x0C,
+ F3_120M_512 = 0x0D,
+ F3_640_512 = 0x0E,
+ F5_640_512 = 0x0F,
+ F5_720_512 = 0x10,
+ F3_1Pt2_512 = 0x11,
+ F3_1Pt23_1024 = 0x12,
+ F5_1Pt23_1024 = 0x13,
+ F3_128Mb_512 = 0x14,
+ F3_230Mb_512 = 0x15,
+ F8_256_128 = 0x16,
+ F3_200Mb_512 = 0x17,
+ F3_240M_512 = 0x18,
+ F3_32M_512 = 0x19
+} MEDIA_TYPE, *PMEDIA_TYPE;
+
+typedef
+enum _DETECTION_TYPE
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552516%28v=vs.85%29.aspx */
+{ DetectNone = 0,
+ DetectInt13 = 1,
+ DetectExInt13 = 2
+} DETECTION_TYPE;
+
+typedef
+struct _DISK_INT13_INFO
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552624(v=vs.85).aspx */
+{ USHORT DriveSelect;
+ ULONG MaxCylinders;
+ USHORT SectorsPerTrack;
+ USHORT MaxHeads;
+ USHORT NumberDrives;
+} DISK_INT13_INFO, *PDISK_INT13_INFO;
+
+typedef
+struct _DISK_EX_INT13_INFO
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552610(v=vs.85).aspx */
+{ USHORT ExBufferSize;
+ USHORT ExFlags;
+ ULONG ExCylinders;
+ ULONG ExHeads;
+ ULONG ExSectorsPerTrack;
+ ULONG64 ExSectorsPerDrive;
+ USHORT ExSectorSize;
+ USHORT ExReserved;
+} DISK_EX_INT13_INFO, *PDISK_EX_INT13_INFO;
+
+typedef
+struct _DISK_DETECTION_INFO
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552601(v=vs.85).aspx */
+{ ULONG SizeOfDetectInfo;
+ DETECTION_TYPE DetectionType;
+ _ANONYMOUS_UNION union
+ { _ANONYMOUS_STRUCT struct
+ { DISK_INT13_INFO Int13;
+ DISK_EX_INT13_INFO ExInt13;
+ } DUMMYSTRUCTNAME;
+ } DUMMYUNIONNAME;
+} DISK_DETECTION_INFO, *PDISK_DETECTION_INFO;
+
+typedef
+struct _DISK_GEOMETRY
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552613(v=vs.85).aspx */
+{ LARGE_INTEGER Cylinders;
+ MEDIA_TYPE MediaType;
+ ULONG TracksPerCylinder;
+ ULONG SectorsPerTrack;
+ ULONG BytesPerSector;
+} DISK_GEOMETRY, *PDISK_GEOMETRY;
+
+typedef
+struct _DISK_GEOMETRY_EX
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552618(v=vs.85).aspx */
+{ DISK_GEOMETRY Geometry;
+ LARGE_INTEGER DiskSize;
+ UCHAR Data[1];
+} DISK_GEOMETRY_EX, *PDISK_GEOMETRY_EX;
+
+/* Note: although declared as an array of only one byte, the Data area within
+ * the DISK_GEOMETRY_EX structure represents a variable size region containing
+ * a DISK_PARTITION_INFO structure followed by a DISK_DETECTION_INFO structure;
+ * the above <ddk/ntdddisk.h> reference defines the following pair of macros,
+ * for obtaining pointers to the embedded structures, given a pointer to the
+ * containing DISK_GEOMETRY_EX structure itself; (the corresponding reference
+ * for <winioctl.h> refers to these macros, without defining them).
+ */
+#if NTDDI_VERSION < NTDDI_WS03
+ /* FIXME: given the above definition for DISK_GEOMETRY_EX, this pair of
+ * macro definitions makes no sense at all...
+ */
+# define DiskGeometryGetPartition(Geometry) \
+ ((PDISK_PARTITION_INFO)((Geometry) + 1))
+
+# define DiskGeometryGetDetect(Geometry) \
+ ((PDISK_DETECTION_INFO)(((PBYTE)DiskGeometryGetPartition(Geometry) + \
+ DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo)))
+#else
+ /* ...whereas this pair would seem to be appropriate, regardless of the
+ * underlying NTDDI_VERSION.
+ */
+# define DiskGeometryGetPartition(Geometry) \
+ ((PDISK_PARTITION_INFO)((Geometry)->Data))
+
+# define DiskGeometryGetDetect(Geometry) \
+ ((PDISK_DETECTION_INFO)(((ULONG_PTR)DiskGeometryGetPartition(Geometry) + \
+ DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo)))
+#endif
+
+typedef
+struct _PARTITION_INFORMATION
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff563751(v=vs.85).aspx */
+{ LARGE_INTEGER StartingOffset;
+ LARGE_INTEGER PartitionLength;
+ ULONG HiddenSectors;
+ ULONG PartitionNumber;
+ UCHAR PartitionType;
+ BOOLEAN BootIndicator;
+ BOOLEAN RecognizedPartition;
+ BOOLEAN RewritePartition;
+} PARTITION_INFORMATION, *PPARTITION_INFORMATION;
+typedef
+struct _PARTITION_INFORMATION_GPT
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff563763(v=vs.85).aspx */
+{ GUID PartitionType;
+ GUID PartitionId;
+ ULONG64 Attributes;
+ WCHAR Name[36];
+} PARTITION_INFORMATION_GPT, *PPARTITION_INFORMATION_GPT;
+
+typedef
+struct _DISK_PARTITION_INFO
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552629(v=vs.85).aspx */
+{ ULONG SizeOfPartitionInfo;
+ PARTITION_STYLE PartitionStyle;
+ _ANONYMOUS_UNION union
+ { struct
+ { ULONG Signature;
+ ULONG CheckSum;
+ } Mbr;
+ struct
+ { GUID DiskId;
+ } Gpt;
+ } DUMMYUNIONNAME;
+} DISK_PARTITION_INFO, *PDISK_PARTITION_INFO;
+
+typedef
+struct _DISK_PERFORMANCE
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552633(v=vs.85).aspx */
+{ LARGE_INTEGER BytesRead;
+ LARGE_INTEGER BytesWritten;
+ LARGE_INTEGER ReadTime;
+ LARGE_INTEGER WriteTime;
+ LARGE_INTEGER IdleTime;
+ ULONG ReadCount;
+ ULONG WriteCount;
+ ULONG QueueDepth;
+ ULONG SplitCount;
+ LARGE_INTEGER QueryTime;
+ ULONG StorageDeviceNumber;
+ WCHAR StorageManagerName[8];
+} DISK_PERFORMANCE, *PDISK_PERFORMANCE;
+
+typedef
+struct _PARTITION_INFORMATION_EX
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff563754(v=vs.85).aspx */
+{ PARTITION_STYLE PartitionStyle;
+ LARGE_INTEGER StartingOffset;
+ LARGE_INTEGER PartitionLength;
+ ULONG PartitionNumber;
+ BOOLEAN RewritePartition;
+ _ANONYMOUS_UNION union
+ { PARTITION_INFORMATION_MBR Mbr;
+ PARTITION_INFORMATION_GPT Gpt;
+ } DUMMYUNIONNAME;
+} PARTITION_INFORMATION_EX, *PPARTITION_INFORMATION_EX;
+
+typedef
+struct _FORMAT_EX_PARAMETERS
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff553875(v=vs.85).aspx */
+{ MEDIA_TYPE MediaType;
+ ULONG StartCylinderNumber;
+ ULONG EndCylinderNumber;
+ ULONG StartHeadNumber;
+ ULONG EndHeadNumber;
+ USHORT FormatGapLength;
+ USHORT SectorsPerTrack;
+ USHORT SectorNumber[1];
+} FORMAT_EX_PARAMETERS, *PFORMAT_EX_PARAMETERS;
+
+typedef
+struct _FORMAT_PARAMETERS
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff553878(v=vs.85).aspx */
+{ MEDIA_TYPE MediaType;
+ ULONG StartCylinderNumber;
+ ULONG EndCylinderNumber;
+ ULONG StartHeadNumber;
+ ULONG EndHeadNumber;
+} FORMAT_PARAMETERS, *PFORMAT_PARAMETERS;
+
+typedef
+struct _GET_LENGTH_INFORMATION
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff554986(v=vs.85).aspx */
+{ LARGE_INTEGER Length;
+} GET_LENGTH_INFORMATION, *PGET_LENGTH_INFORMATION;
+
+typedef
+struct _REASSIGN_BLOCKS
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff563962(v=vs.85).aspx */
+{ USHORT Reserved;
+ USHORT Count;
+ ULONG BlockNumber[1];
+} REASSIGN_BLOCKS, *PREASSIGN_BLOCKS;
+
+typedef
+struct _SET_PARTITION_INFORMATION
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff566192(v=vs.85).aspx */
+{ UCHAR PartitionType;
+} SET_PARTITION_INFORMATION, *PSET_PARTITION_INFORMATION;
+
+typedef
+struct _VERIFY_INFORMATION
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff568005(v=vs.85).aspx */
+{ LARGE_INTEGER StartingOffset;
+ ULONG Length;
+} VERIFY_INFORMATION, *PVERIFY_INFORMATION;
+
+typedef enum
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552583(v=vs.85).aspx */
+{ EqualPriority = 0,
+ KeepPrefetchedData = 1,
+ KeepReadData = 2
+} DISK_CACHE_RETENTION_PRIORITY;
+
+typedef
+struct _DISK_CACHE_INFORMATION
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552580(v=vs.85).aspx */
+{ BOOLEAN ParametersSavable;
+ BOOLEAN ReadCacheEnabled;
+ BOOLEAN WriteCacheEnabled;
+ DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority;
+ DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority;
+ USHORT DisablePrefetchTransferLength;
+ BOOLEAN PrefetchScalar;
+ _ANONYMOUS_UNION union
+ { struct
+ { USHORT Minimum;
+ USHORT Maximum;
+ USHORT MaximumBlocks;
+ } ScalarPrefetch;
+ struct
+ { USHORT Minimum;
+ USHORT Maximum;
+ } BlockPrefetch;
+ } DUMMYUNIONNAME;
+} DISK_CACHE_INFORMATION, *PDISK_CACHE_INFORMATION;
+
+typedef
+struct _DISK_GROW_PARTITION
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552621(v=vs.85).aspx */
+{ ULONG PartitionNumber;
+ LARGE_INTEGER BytesToGrow;
+} DISK_GROW_PARTITION, *PDISK_GROW_PARTITION;
+
+/* End of _DDK_NTDDDISK_H and _WINIOCTL_H common declarations.
+ */
+#endif
+#ifdef _DDK_NTDDDISK_H
+/* Declarations specific to _DDK_NTDDDISK_H alone.
+ */
_BEGIN_C_DECLS
#define DD_DISK_DEVICE_NAME "\\Device\\UNKNOWN"
@@ -183,4 +553,5 @@ struct _SENDCMDOUTPARAMS
_END_C_DECLS
-#endif /* _DDK_NTDDDISK_H: $RCSfile$: end of file */
+#endif /* _DDK_NTDDDISK_H */
+#endif /* !_DDK_NTDDDISK_H: $RCSfile$: end of file */
diff --git a/w32api/include/ddk/ntddstor.h b/w32api/include/ddk/ntddstor.h
index bcee7a3..59fdb86 100644
--- a/w32api/include/ddk/ntddstor.h
+++ b/w32api/include/ddk/ntddstor.h
@@ -6,7 +6,7 @@
* $Id$
*
* Written by Casper S. Hornstrup <ch...@us...>
- * Copyright (C) 2002, 2004, 2015, MinGW.org Project.
+ * Copyright (C) 2002, 2004, 2015, 2016, MinGW.org Project.
*
*
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -30,18 +30,79 @@
*
*/
#ifndef _DDK_NTDDSTOR_H
-#define _DDK_NTDDSTOR_H
#pragma GCC system_header
+/* This file supports partial inclusion by <winioctl.h>; defer definition
+ * of its normal repeat inclusion guard macro...
+ */
+#ifndef __WINIOCTL_H_SOURCED__
+/* ...until we've ascertained that this is NOT such partial inclusion.
+ */
+#define _DDK_NTDDSTOR_H
+
+/* In case of full inclusion, we must also include the full content of:
+ */
#include "ntddk.h"
+#endif
+#if ! (defined _DDK_NTDDSTOR_H && defined _WINIOCTL_H)
/* The majority of the IOCTL_STORAGE control code generator macros,
* structural type STORAGE_BUS_TYPE, and its associated pointer type,
- * are also required to be defined by <winioctl.h>; for convenience
- * of maintenance, share these definitions via <parts/winioctl.h>
+ * are required to be defined by both <ddk/ntddstor.h> and <winioctl.h>,
+ * but if both repeat inclusion guards are already defined, then we've
+ * already seen this; ther is no need to process it again.
*/
-#include <parts/winioctl.h>
+#define __IOCTL_STORAGE_(FN,M,A) CTL_CODE(IOCTL_STORAGE_BASE,(FN),(M),(A))
+#define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE
+#define IOCTL_STORAGE_CHECK_VERIFY __IOCTL_STORAGE_(0x0200,__FILE_RD_BUFFERED)
+#define IOCTL_STORAGE_CHECK_VERIFY2 __IOCTL_STORAGE_(0x0200,__FILE_AM_BUFFERED)
+#define IOCTL_STORAGE_MEDIA_REMOVAL __IOCTL_STORAGE_(0x0201,__FILE_RD_BUFFERED)
+#define IOCTL_STORAGE_EJECT_MEDIA __IOCTL_STORAGE_(0x0202,__FILE_RD_BUFFERED)
+#define IOCTL_STORAGE_LOAD_MEDIA __IOCTL_STORAGE_(0x0203,__FILE_RD_BUFFERED)
+#define IOCTL_STORAGE_LOAD_MEDIA2 __IOCTL_STORAGE_(0x0203,__FILE_AM_BUFFERED)
+#define IOCTL_STORAGE_RESERVE __IOCTL_STORAGE_(0x0204,__FILE_RD_BUFFERED)
+#define IOCTL_STORAGE_RELEASE __IOCTL_STORAGE_(0x0205,__FILE_RD_BUFFERED)
+#define IOCTL_STORAGE_FIND_NEW_DEVICES __IOCTL_STORAGE_(0x0206,__FILE_RD_BUFFERED)
+#define IOCTL_STORAGE_EJECTION_CONTROL __IOCTL_STORAGE_(0x0250,__FILE_AM_BUFFERED)
+#define IOCTL_STORAGE_MCN_CONTROL __IOCTL_STORAGE_(0x0251,__FILE_AM_BUFFERED)
+#define IOCTL_STORAGE_GET_MEDIA_TYPES __IOCTL_STORAGE_(0x0300,__FILE_AM_BUFFERED)
+#define IOCTL_STORAGE_GET_MEDIA_TYPES_EX __IOCTL_STORAGE_(0x0301,__FILE_AM_BUFFERED)
+#define IOCTL_STORAGE_RESET_BUS __IOCTL_STORAGE_(0x0400,__FILE_RW_BUFFERED)
+#define IOCTL_STORAGE_RESET_DEVICE __IOCTL_STORAGE_(0x0401,__FILE_RW_BUFFERED)
+#define IOCTL_STORAGE_GET_DEVICE_NUMBER __IOCTL_STORAGE_(0x0420,__FILE_AM_BUFFERED)
+#define IOCTL_STORAGE_PREDICT_FAILURE __IOCTL_STORAGE_(0x0440,__FILE_AM_BUFFERED)
+
+typedef
+enum _STORAGE_BUS_TYPE
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff566356(v=vs.85).aspx */
+{ BusTypeUnknown = 0x00,
+ BusTypeScsi = 0x01,
+ BusTypeAtapi = 0x02,
+ BusTypeAta = 0x03,
+ BusType1394 = 0x04,
+ BusTypeSsa = 0x05,
+ BusTypeFibre = 0x06,
+ BusTypeUsb = 0x07,
+ BusTypeRAID = 0x08,
+ BusTypeiScsi = 0x09,
+ BusTypeSas = 0x0A,
+ BusTypeSata = 0x0B,
+ BusTypeSd = 0x0C,
+ BusTypeMmc = 0x0D,
+ BusTypeVirtual = 0x0E,
+ BusTypeFileBackedVirtual = 0x0F,
+ BusTypeSpaces = 0x10,
+ BusTypeMax /* variant; number of bus types */,
+ BusTypeMaxReserved = 0x7F
+} STORAGE_BUS_TYPE, *PSTORAGE_BUS_TYPE;
+
+/* End of _DDK_NTDDSTOR_H and _WINIOCTL_H common declarations.
+ */
+#endif
+#ifdef _DDK_NTDDSTOR_H
+/* Declarations specific to _DDK_NTDDSTOR_H alone.
+ */
_BEGIN_C_DECLS
#define IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER __IOCTL_STORAGE_(0x0304,__FILE_AM_BUFFERED)
@@ -283,4 +344,5 @@ struct _STORAGE_PROPERTY_QUERY
_END_C_DECLS
-#endif /* _DDK_NTDDSTOR_H: $RCSfile$: end of file */
+#endif /* _DDK_NTDDSTOR_H */
+#endif /* !_DDK_NTDDSTOR_H: $RCSfile$: end of file */
diff --git a/w32api/include/ddk/winddk.h b/w32api/include/ddk/winddk.h
index 60545fc..68bbdd7 100644
--- a/w32api/include/ddk/winddk.h
+++ b/w32api/include/ddk/winddk.h
@@ -6,7 +6,7 @@
* $Id$
*
* Written by Casper S. Hornstrup <ch...@us...>
- * Copyright (C) 2002-2004, 2006, 2008-2011, 2015, MinGW.org Project.
+ * Copyright (C) 2002-2004, 2006, 2008-2011, 2015, 2016, MinGW.org Project.
*
*
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -30,24 +30,179 @@
*
*/
#ifndef _DDK_WINDDK_H
-#define _DDK_WINDDK_H
#pragma GCC system_header
-#ifndef _DDK_NTDDK_H
-/* ddk/winddk.h is subsidiary to ddk/ntddk.h, and cannot stand alone.
+#if ! (defined _DDK_NTDDK_H || defined __WINIOCTL_H_SOURCED__)
+/* Unless sourced by <winioctl.h>, (which represents only partial inclusion),
+ * <ddk/winddk.h> is subsidiary to <ddk/ntddk.h>, and cannot stand alone.
*/
# error "Never include <ddk/winddk.h> directly; use <ddk/ntddk.h> instead."
-#else /* defined _DDK_NTDDK_H */
+#else
+/* We've reached here by a legitimate sequence of header inclusion...
+ */
+# ifndef __WINIOCTL_H_SOURCED__
+ /* ...but it is NOT sourced by <winioctl.h>, so this is full inclusion:
+ * set the repeat inclusion guard, so we will not include it again.
+ */
+# define _DDK_WINDDK_H
+# endif
-/* Some entities which are nominally defined here are also expected to
- * be defined by <winioctl.h>; share those via <parts/winioctl.h>
+#if ! (defined _DDK_WINDDK_H && defined _WINIOCTL_H)
+/* The declarations within this section are common to <ddk/winddk.h> and
+ * to <winioctl.h>, but if BOTH repeat inclusion guards are now defined,
+ * then we've already seen this; there is no need to process it again.
*/
-#include <parts/winioctl.h>
+#define CTL_CODE(DT,FN,M,A) (((DT)<<16)|((FN)<<2)|((A)<<14)|(M))
+#define DEVICE_TYPE_FROM_CTL_CODE(C) (((ULONG)((C) & (0xFFFF0000)) >> 16)
-_BEGIN_C_DECLS
+typedef ULONG DEVICE_TYPE;
+enum
+{ FILE_DEVICE_BEEP = 0x00000001UL,
+ FILE_DEVICE_CD_ROM = 0x00000002UL,
+ FILE_DEVICE_CD_ROM_FILE_SYSTEM = 0x00000003UL,
+ FILE_DEVICE_CONTROLLER = 0x00000004UL,
+ FILE_DEVICE_DATALINK = 0x00000005UL,
+ FILE_DEVICE_DFS = 0x00000006UL,
+ FILE_DEVICE_DISK = 0x00000007UL,
+ FILE_DEVICE_DISK_FILE_SYSTEM = 0x00000008UL,
+ FILE_DEVICE_FILE_SYSTEM = 0x00000009UL,
+ FILE_DEVICE_INPORT_PORT = 0x0000000AUL,
+ FILE_DEVICE_KEYBOARD = 0x0000000BUL,
+ FILE_DEVICE_MAILSLOT = 0x0000000CUL,
+ FILE_DEVICE_MIDI_IN = 0x0000000DUL,
+ FILE_DEVICE_MIDI_OUT = 0x0000000EUL,
+ FILE_DEVICE_MOUSE = 0x0000000FUL,
+ FILE_DEVICE_MULTI_UNC_PROVIDER = 0x00000010UL,
+ FILE_DEVICE_NAMED_PIPE = 0x00000011UL,
+ FILE_DEVICE_NETWORK = 0x00000012UL,
+ FILE_DEVICE_NETWORK_BROWSER = 0x00000013UL,
+ FILE_DEVICE_NETWORK_FILE_SYSTEM = 0x00000014UL,
+ FILE_DEVICE_NULL = 0x00000015UL,
+ FILE_DEVICE_PARALLEL_PORT = 0x00000016UL,
+ FILE_DEVICE_PHYSICAL_NETCARD = 0x00000017UL,
+ FILE_DEVICE_PRINTER = 0x00000018UL,
+ FILE_DEVICE_SCANNER = 0x00000019UL,
+ FILE_DEVICE_SERIAL_MOUSE_PORT = 0x0000001AUL,
+ FILE_DEVICE_SERIAL_PORT = 0x0000001BUL,
+ FILE_DEVICE_SCREEN = 0x0000001CUL,
+ FILE_DEVICE_SOUND = 0x0000001DUL,
+ FILE_DEVICE_STREAMS = 0x0000001EUL,
+ FILE_DEVICE_TAPE = 0x0000001FUL,
+ FILE_DEVICE_TAPE_FILE_SYSTEM = 0x00000020UL,
+ FILE_DEVICE_TRANSPORT = 0x00000021UL,
+ FILE_DEVICE_UNKNOWN = 0x00000022UL,
+ FILE_DEVICE_VIDEO = 0x00000023UL,
+ FILE_DEVICE_VIRTUAL_DISK = 0x00000024UL,
+ FILE_DEVICE_WAVE_IN = 0x00000025UL,
+ FILE_DEVICE_WAVE_OUT = 0x00000026UL,
+ FILE_DEVICE_8042_PORT = 0x00000027UL,
+ FILE_DEVICE_NETWORK_REDIRECTOR = 0x00000028UL,
+ FILE_DEVICE_BATTERY = 0x00000029UL,
+ FILE_DEVICE_BUS_EXTENDER = 0x0000002AUL,
+ FILE_DEVICE_MODEM = 0x0000002BUL,
+ FILE_DEVICE_VDM = 0x0000002CUL,
+ FILE_DEVICE_MASS_STORAGE = 0x0000002DUL,
+ FILE_DEVICE_SMB = 0x0000002EUL,
+ FILE_DEVICE_KS = 0x0000002FUL,
+ FILE_DEVICE_CHANGER = 0x00000030UL,
+ FILE_DEVICE_SMARTCARD = 0x00000031UL,
+ FILE_DEVICE_ACPI = 0x00000032UL,
+ FILE_DEVICE_DVD = 0x00000033UL,
+ FILE_DEVICE_FULLSCREEN_VIDEO = 0x00000034UL,
+ FILE_DEVICE_DFS_FILE_SYSTEM = 0x00000035UL,
+ FILE_DEVICE_DFS_VOLUME = 0x00000036UL,
+ FILE_DEVICE_SERENUM = 0x00000037UL,
+ FILE_DEVICE_TERMSRV = 0x00000038UL,
+ FILE_DEVICE_KSEC = 0x00000039UL,
+ FILE_DEVICE_FIPS = 0x0000003AUL
+};
+
+enum
+{ FILE_ANY_ACCESS = 0x00000000UL,
+ FILE_SPECIAL_ACCESS = FILE_ANY_ACCESS,
+ FILE_READ_ACCESS = 0x00000001UL,
+ FILE_WRITE_ACCESS = 0x00000002UL
+};
+
+enum
+{ METHOD_BUFFERED = 0,
+ METHOD_IN_DIRECT = 1,
+ METHOD_OUT_DIRECT = 2,
+ METHOD_NEITHER = 3
+};
+
+/* Some derived convenience macros; Microsoft do not specify these,
+ * but they help to keep the CTL_CODE specifications tidy.
+ */
+#define __FILE_RW_ACCESS (FILE_READ_ACCESS | FILE_WRITE_ACCESS)
+#define __FILE_AM_BUFFERED METHOD_BUFFERED, FILE_ANY_ACCESS
+#define __FILE_RD_BUFFERED METHOD_BUFFERED, FILE_READ_ACCESS
+#define __FILE_RW_BUFFERED METHOD_BUFFERED, __FILE_RW_ACCESS
+
+typedef
+struct _DRIVE_LAYOUT_INFORMATION_MBR
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552668(v=vs.85).aspx */
+{ ULONG Signature;
+} DRIVE_LAYOUT_INFORMATION_MBR, *PDRIVE_LAYOUT_INFORMATION_MBR;
+
+typedef
+struct _DRIVE_LAYOUT_INFORMATION_GPT
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552664(v=vs.85).aspx */
+{ GUID DiskId;
+ LARGE_INTEGER StartingUsableOffset;
+ LARGE_INTEGER UsableLength;
+ ULONG MaxPartitionCount;
+} DRIVE_LAYOUT_INFORMATION_GPT, *PDRIVE_LAYOUT_INFORMATION_GPT;
+
+typedef
+struct _PARTITION_INFORMATION_MBR
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff563767(v=vs.85).aspx */
+{ UCHAR PartitionType;
+ BOOLEAN BootIndicator;
+ BOOLEAN RecognizedPartition;
+ ULONG HiddenSectors;
+} PARTITION_INFORMATION_MBR, *PPARTITION_INFORMATION_MBR;
+
+typedef
+enum _PARTITION_STYLE
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff563773(v=vs.85).aspx */
+{ PARTITION_STYLE_MBR = 0,
+ PARTITION_STYLE_GPT = 1,
+ PARTITION_STYLE_RAW = 2
+} PARTITION_STYLE;
+
+typedef
+struct _CREATE_DISK_MBR
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552490(v=vs.85).aspx */
+{ ULONG Signature;
+} CREATE_DISK_MBR, *PCREATE_DISK_MBR;
+
+typedef
+struct _CREATE_DISK_GPT
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552486(v=vs.85).aspx */
+{ GUID DiskId;
+ ULONG MaxPartitionCount;
+} CREATE_DISK_GPT, *PCREATE_DISK_GPT;
-/* Definitions specific to this Device Driver Kit
+typedef
+struct _CREATE_DISK
+/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552490(v=vs.85).aspx */
+{ PARTITION_STYLE PartitionStyle;
+ _ANONYMOUS_UNION union
+ { CREATE_DISK_MBR Mbr;
+ CREATE_DISK_GPT Gpt;
+ } DUMMYUNIONNAME;
+} CREATE_DISK, *PCREATE_DISK;
+
+/* End of _DDK_WINDDK_H and _WINIOCTL_H common declarations.
*/
+#endif
+#ifdef _DDK_WINDDK_H
+/* Definitions specific to _DDK_WINDDK_H
+ */
+
+_BEGIN_C_DECLS
+
#define DDKAPI __stdcall
#define DDKFASTAPI __fastcall
#define DDKCDECLAPI __cdecl
@@ -8187,5 +8342,6 @@ extern NTOSAPI PBOOLEAN KdDebuggerEnabled;
_END_C_DECLS
-#endif /* defined _DDK_NTDDK_H */
-#endif /* _DDK_WINDDK_H: $RCSfile$: end of file */
+#endif /* _DDK_WINDDK_H */
+#endif /* _DDK_NTDDK_H || __WINIOCTL_H_SOURCED__ */
+#endif /* !_DDK_WINDDK_H: $RCSfile$: end of file */
diff --git a/w32api/include/parts/winioctl.h b/w32api/include/parts/winioctl.h
deleted file mode 100644
index 29e12fa..0000000
--- a/w32api/include/parts/winioctl.h
+++ /dev/null
@@ -1,678 +0,0 @@
-/*
- * parts/winioctl.h
- *
- * Internal header file, declaring elements of the <winioctl.h> header
- * which are also expected to be exposed when including certain of the
- * device driver development kit headers.
- *
- * $Id$
- *
- * Written by Keith Marshall <kei...@us...>
- * Copyright (C) 2015, MinGW.org Project.
- *
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice, this permission notice, and the following
- * disclaimer shall be included in all copies or substantial portions of
- * the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OF OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- */
-#undef __need_ddk_winddk_includes
-#undef __need_ddk_ntddstor_includes
-#undef __need_ddk_ntdddisk_includes
-
-#undef __FAKE_WINIOCTL_H_SOURCED
-
-#ifdef _WINIOCTL_H
-/* The client has included <winioctl.h>; we need to ensure that all
- * of the separate fragments of this file are processed.
- */
-# define __need_ddk_ntdddisk_includes ! defined __have_ddk_ntdddisk_includes
-# define __need_ddk_ntddstor_includes ! defined __have_ddk_ntddstor_includes
-# define __need_ddk_winddk_includes ! defined __have_ddk_winddk_includes
-
-#else
-/* The client has not (yet) included <winioctl.h>, but has included
- * at least one of the Windows DDK headers which is dependent on one
- * or more fragments of this file; we must select whichever of these
- * fragments may be required.
- */
-# ifdef _DDK_WINDDK_H
- /* The <ddk/winddk.h> header has been included; fake inclusion from
- * <winioctl.h>, as expected, and select the <ddk/windkk.h> fragment.
- */
-# define __FAKE_WINIOCTL_H_SOURCED
-# define __need_ddk_winddk_includes ! defined __have_ddk_winddk_includes
-# endif
-
-# ifdef _DDK_NTDDSTOR_H
- /* The <ddk/ntddstor.h> header has been included; fake inclusion from
- * <winioctl.h>, as expected, and select the <ddk/ntddstor.h> fragment.
- */
-# define __FAKE_WINIOCTL_H_SOURCED
-# define __need_ddk_ntddstor_includes ! defined __have_ddk_ntddstor_includes
-# endif
-
-# ifdef _DDK_NTDDDISK_H
- /* The <ddk/ntdddisk.h> header has been included; fake inclusion from
- * <winioctl.h>, as expected, and select the <ddk/ntdddisk.h> fragment.
- */
-# define __FAKE_WINIOCTL_H_SOURCED
-# define __need_ddk_ntdddisk_includes ! defined __have_ddk_ntdddisk_includes
-# endif
-
-# ifndef __FAKE_WINIOCTL_H_SOURCED
- /* This file has been included by an unexpected client; refuse to
- * process this unauthorized request.
- */
-# error "Never include <parts/winioctl.h> directly; use <winioctl.h> instead"
-# endif
-# undef __FAKE_WINIOCTL_H_SOURCED
-#endif
-
-#if __need_ddk_winddk_includes
-/* This fragment provides content common to both <winioctl.h> and
- * <ddk/winddk.h>; since both <ddk/ntddstor.h> and <ddk/ntdddisk.h>
- * also (indirectly) include <ddk/winddk.h>, this fragment is always
- * processed before any other, regardless of how this file comes to
- * be included.
- */
-#define CTL_CODE(DT,FN,M,A) (((DT)<<16)|((FN)<<2)|((A)<<14)|(M))
-#define DEVICE_TYPE_FROM_CTL_CODE(C) (((ULONG)((C) & (0xFFFF0000)) >> 16)
-
-typedef ULONG DEVICE_TYPE;
-enum
-{ FILE_DEVICE_BEEP = 0x00000001UL,
- FILE_DEVICE_CD_ROM = 0x00000002UL,
- FILE_DEVICE_CD_ROM_FILE_SYSTEM = 0x00000003UL,
- FILE_DEVICE_CONTROLLER = 0x00000004UL,
- FILE_DEVICE_DATALINK = 0x00000005UL,
- FILE_DEVICE_DFS = 0x00000006UL,
- FILE_DEVICE_DISK = 0x00000007UL,
- FILE_DEVICE_DISK_FILE_SYSTEM = 0x00000008UL,
- FILE_DEVICE_FILE_SYSTEM = 0x00000009UL,
- FILE_DEVICE_INPORT_PORT = 0x0000000AUL,
- FILE_DEVICE_KEYBOARD = 0x0000000BUL,
- FILE_DEVICE_MAILSLOT = 0x0000000CUL,
- FILE_DEVICE_MIDI_IN = 0x0000000DUL,
- FILE_DEVICE_MIDI_OUT = 0x0000000EUL,
- FILE_DEVICE_MOUSE = 0x0000000FUL,
- FILE_DEVICE_MULTI_UNC_PROVIDER = 0x00000010UL,
- FILE_DEVICE_NAMED_PIPE = 0x00000011UL,
- FILE_DEVICE_NETWORK = 0x00000012UL,
- FILE_DEVICE_NETWORK_BROWSER = 0x00000013UL,
- FILE_DEVICE_NETWORK_FILE_SYSTEM = 0x00000014UL,
- FILE_DEVICE_NULL = 0x00000015UL,
- FILE_DEVICE_PARALLEL_PORT = 0x00000016UL,
- FILE_DEVICE_PHYSICAL_NETCARD = 0x00000017UL,
- FILE_DEVICE_PRINTER = 0x00000018UL,
- FILE_DEVICE_SCANNER = 0x00000019UL,
- FILE_DEVICE_SERIAL_MOUSE_PORT = 0x0000001AUL,
- FILE_DEVICE_SERIAL_PORT = 0x0000001BUL,
- FILE_DEVICE_SCREEN = 0x0000001CUL,
- FILE_DEVICE_SOUND = 0x0000001DUL,
- FILE_DEVICE_STREAMS = 0x0000001EUL,
- FILE_DEVICE_TAPE = 0x0000001FUL,
- FILE_DEVICE_TAPE_FILE_SYSTEM = 0x00000020UL,
- FILE_DEVICE_TRANSPORT = 0x00000021UL,
- FILE_DEVICE_UNKNOWN = 0x00000022UL,
- FILE_DEVICE_VIDEO = 0x00000023UL,
- FILE_DEVICE_VIRTUAL_DISK = 0x00000024UL,
- FILE_DEVICE_WAVE_IN = 0x00000025UL,
- FILE_DEVICE_WAVE_OUT = 0x00000026UL,
- FILE_DEVICE_8042_PORT = 0x00000027UL,
- FILE_DEVICE_NETWORK_REDIRECTOR = 0x00000028UL,
- FILE_DEVICE_BATTERY = 0x00000029UL,
- FILE_DEVICE_BUS_EXTENDER = 0x0000002AUL,
- FILE_DEVICE_MODEM = 0x0000002BUL,
- FILE_DEVICE_VDM = 0x0000002CUL,
- FILE_DEVICE_MASS_STORAGE = 0x0000002DUL,
- FILE_DEVICE_SMB = 0x0000002EUL,
- FILE_DEVICE_KS = 0x0000002FUL,
- FILE_DEVICE_CHANGER = 0x00000030UL,
- FILE_DEVICE_SMARTCARD = 0x00000031UL,
- FILE_DEVICE_ACPI = 0x00000032UL,
- FILE_DEVICE_DVD = 0x00000033UL,
- FILE_DEVICE_FULLSCREEN_VIDEO = 0x00000034UL,
- FILE_DEVICE_DFS_FILE_SYSTEM = 0x00000035UL,
- FILE_DEVICE_DFS_VOLUME = 0x00000036UL,
- FILE_DEVICE_SERENUM = 0x00000037UL,
- FILE_DEVICE_TERMSRV = 0x00000038UL,
- FILE_DEVICE_KSEC = 0x00000039UL,
- FILE_DEVICE_FIPS = 0x0000003AUL
-};
-
-enum
-{ FILE_ANY_ACCESS = 0x00000000UL,
- FILE_SPECIAL_ACCESS = FILE_ANY_ACCESS,
- FILE_READ_ACCESS = 0x00000001UL,
- FILE_WRITE_ACCESS = 0x00000002UL
-};
-
-enum
-{ METHOD_BUFFERED = 0,
- METHOD_IN_DIRECT = 1,
- METHOD_OUT_DIRECT = 2,
- METHOD_NEITHER = 3
-};
-
-/* Some derived convenience macros; Microsoft do not specify these,
- * but they help to keep the CTL_CODE specifications tidy.
- */
-#define __FILE_RW_ACCESS (FILE_READ_ACCESS | FILE_WRITE_ACCESS)
-#define __FILE_AM_BUFFERED METHOD_BUFFERED, FILE_ANY_ACCESS
-#define __FILE_RD_BUFFERED METHOD_BUFFERED, FILE_READ_ACCESS
-#define __FILE_RW_BUFFERED METHOD_BUFFERED, __FILE_RW_ACCESS
-
-typedef
-struct _DRIVE_LAYOUT_INFORMATION_MBR
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552668(v=vs.85).aspx */
-{ ULONG Signature;
-} DRIVE_LAYOUT_INFORMATION_MBR, *PDRIVE_LAYOUT_INFORMATION_MBR;
-
-typedef
-struct _DRIVE_LAYOUT_INFORMATION_GPT
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552664(v=vs.85).aspx */
-{ GUID DiskId;
- LARGE_INTEGER StartingUsableOffset;
- LARGE_INTEGER UsableLength;
- ULONG MaxPartitionCount;
-} DRIVE_LAYOUT_INFORMATION_GPT, *PDRIVE_LAYOUT_INFORMATION_GPT;
-
-typedef
-struct _PARTITION_INFORMATION_MBR
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff563767(v=vs.85).aspx */
-{ UCHAR PartitionType;
- BOOLEAN BootIndicator;
- BOOLEAN RecognizedPartition;
- ULONG HiddenSectors;
-} PARTITION_INFORMATION_MBR, *PPARTITION_INFORMATION_MBR;
-
-typedef
-enum _PARTITION_STYLE
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff563773(v=vs.85).aspx */
-{ PARTITION_STYLE_MBR = 0,
- PARTITION_STYLE_GPT = 1,
- PARTITION_STYLE_RAW = 2
-} PARTITION_STYLE;
-
-typedef
-struct _CREATE_DISK_MBR
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552490(v=vs.85).aspx */
-{ ULONG Signature;
-} CREATE_DISK_MBR, *PCREATE_DISK_MBR;
-
-typedef
-struct _CREATE_DISK_GPT
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552486(v=vs.85).aspx */
-{ GUID DiskId;
- ULONG MaxPartitionCount;
-} CREATE_DISK_GPT, *PCREATE_DISK_GPT;
-
-typedef
-struct _CREATE_DISK
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552490(v=vs.85).aspx */
-{ PARTITION_STYLE PartitionStyle;
- _ANONYMOUS_UNION union
- { CREATE_DISK_MBR Mbr;
- CREATE_DISK_GPT Gpt;
- } DUMMYUNIONNAME;
-} CREATE_DISK, *PCREATE_DISK;
-
-# ifndef _WINIOCTL_H
- /* When not sourced from <winioctrl.h>, this fragment is intended to
- * be sourced exclusively from <ddk/winddk.h>; in this latter case, we
- * explicitly DO NOT want to process fragments which relate to either
- * the <ddk/ntddstor.h> or <ddk/nfdddisk.h> header files, (for which
- * the respective fragments appear later in this file).
- */
-# undef __need_ddk_ntddstor_includes
-# undef __need_ddk_ntdddisk_includes
-# endif
-# define __have_ddk_winddk_includes
-#endif
-
-#if __need_ddk_ntddstor_includes
-/* This fragment provides content common to both <winioctl.h> and
- * <ddk/ntddstor.h>; since <ddk/ntddstor.h> includes <ddk/winddk.h>,
- * and is itself included by <ddk/ntdddisk.h>, this fragment will be
- * processed between the fragment associated with <ddk/winddk.h>,
- * and that associated with <ddk/ntdddisk.h>
- */
-#define __IOCTL_STORAGE_(FN,M,A) CTL_CODE(IOCTL_STORAGE_BASE,(FN),(M),(A))
-
-#define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE
-#define IOCTL_STORAGE_CHECK_VERIFY __IOCTL_STORAGE_(0x0200,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_CHECK_VERIFY2 __IOCTL_STORAGE_(0x0200,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_MEDIA_REMOVAL __IOCTL_STORAGE_(0x0201,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_EJECT_MEDIA __IOCTL_STORAGE_(0x0202,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_LOAD_MEDIA __IOCTL_STORAGE_(0x0203,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_LOAD_MEDIA2 __IOCTL_STORAGE_(0x0203,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_RESERVE __IOCTL_STORAGE_(0x0204,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_RELEASE __IOCTL_STORAGE_(0x0205,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_FIND_NEW_DEVICES __IOCTL_STORAGE_(0x0206,__FILE_RD_BUFFERED)
-#define IOCTL_STORAGE_EJECTION_CONTROL __IOCTL_STORAGE_(0x0250,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_MCN_CONTROL __IOCTL_STORAGE_(0x0251,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_GET_MEDIA_TYPES __IOCTL_STORAGE_(0x0300,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_GET_MEDIA_TYPES_EX __IOCTL_STORAGE_(0x0301,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_RESET_BUS __IOCTL_STORAGE_(0x0400,__FILE_RW_BUFFERED)
-#define IOCTL_STORAGE_RESET_DEVICE __IOCTL_STORAGE_(0x0401,__FILE_RW_BUFFERED)
-#define IOCTL_STORAGE_GET_DEVICE_NUMBER __IOCTL_STORAGE_(0x0420,__FILE_AM_BUFFERED)
-#define IOCTL_STORAGE_PREDICT_FAILURE __IOCTL_STORAGE_(0x0440,__FILE_AM_BUFFERED)
-
-typedef
-enum _STORAGE_BUS_TYPE
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff566356(v=vs.85).aspx */
-{ BusTypeUnknown = 0x00,
- BusTypeScsi = 0x01,
- BusTypeAtapi = 0x02,
- BusTypeAta = 0x03,
- BusType1394 = 0x04,
- BusTypeSsa = 0x05,
- BusTypeFibre = 0x06,
- BusTypeUsb = 0x07,
- BusTypeRAID = 0x08,
- BusTypeiScsi = 0x09,
- BusTypeSas = 0x0A,
- BusTypeSata = 0x0B,
- BusTypeSd = 0x0C,
- BusTypeMmc = 0x0D,
- BusTypeVirtual = 0x0E,
- BusTypeFileBackedVirtual = 0x0F,
- BusTypeSpaces = 0x10,
- BusTypeMax /* variant; number of bus types */,
- BusTypeMaxReserved = 0x7F
-} STORAGE_BUS_TYPE, *PSTORAGE_BUS_TYPE;
-
-# ifndef _WINIOCTL_H
- /* When not sourced from <winioctrl.h>, this fragment is intended to
- * be sourced exclusively from <ddk/ntddstor.h>; in this latter case,
- * the preceding fragment, associated with <ddk/winddk.h> has already
- * been processed, since <ddk/ntddstor.h> has included <ddk/winddk.h>
- * (via <ddk/ntddk.h>) before including this fragment. At this time,
- * we explicitly DO NOT want to process the following fragment, which
- * relates to the <ddk/nfdddisk.h> header file, but we no longer need
- * to make any specific provision to ignore the fragment relating to
- * <ddk/winddk.h>, which has been processed already.
- */
-# undef __need_ddk_ntdddisk_includes
-# endif
-# define __have_ddk_ntddstor_includes
-#endif
-
-#if __need_ddk_ntdddisk_includes
-/* This fragment provides content common to both <winioctl.h> and
- * <ddk/ntdddisk.h>; since both <ddk/winddk.h> and <ddk/ntddstor.h>
- * are included by <ddk/ntdddisk.h>, this fragment is processed after
- * each of the two fragments associated with each of those two files
- * respectively, (in respective order).
- */
-#define __IOCTL_DISK_(FN,M,A) CTL_CODE(IOCTL_DISK_BASE,(FN),(M),(A))
-
-#define IOCTL_DISK_BASE FILE_TYPE_DISK
-#define IOCTL_DISK_GET_DRIVE_GEOMETRY __IOCTL_DISK_(0x0000,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_GET_PARTITION_INFO __IOCTL_DISK_(0x0001,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_SET_PARTITION_INFO __IOCTL_DISK_(0x0002,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_GET_DRIVE_LAYOUT __IOCTL_DISK_(0x0003,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_SET_DRIVE_LAYOUT __IOCTL_DISK_(0x0004,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_VERIFY __IOCTL_DISK_(0x0005,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_FORMAT_TRACKS __IOCTL_DISK_(0x0006,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_REASSIGN_BLOCKS __IOCTL_DISK_(0x0007,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_PERFORMANCE __IOCTL_DISK_(0x0008,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_IS_WRITABLE __IOCTL_DISK_(0x0009,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_FORMAT_TRACKS_EX __IOCTL_DISK_(0x000B,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_GET_PARTITION_INFO_EX __IOCTL_DISK_(0x0012,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_SET_PARTITION_INFO_EX __IOCTL_DISK_(0x0013,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_GET_DRIVE_LAYOUT_EX __IOCTL_DISK_(0x0014,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_SET_DRIVE_LAYOUT_EX __IOCTL_DISK_(0x0015,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_CREATE_DISK __IOCTL_DISK_(0x0016,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_GET_LENGTH_INFO __IOCTL_DISK_(0x0017,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_PERFORMANCE_OFF __IOCTL_DISK_(0x0018,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX __IOCTL_DISK_(0x0028,__FILE_AM_BUFFERED)
-#define IOCTL_DISK_UPDATE_DRIVE_SIZE __IOCTL_DISK_(0x0032,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_GROW_PARTITION __IOCTL_DISK_(0x0034,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_GET_CACHE_INFORMATION __IOCTL_DISK_(0x0035,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_SET_CACHE_INFORMATION __IOCTL_DISK_(0x0036,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_DELETE_DRIVE_LAYOUT __IOCTL_DISK_(0x0040,__FILE_RW_BUFFERED)
-#define IOCTL_DISK_CHECK_VERIFY __IOCTL_DISK_(0x0200,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_RESERVE __IOCTL_DISK_(0x0204,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_FIND_NEW_DEVICES __IOCTL_DISK_(0x0206,__FILE_RD_BUFFERED)
-#define IOCTL_DISK_GET_MEDIA_TYPES __IOCTL_DISK_(0x0300,__FILE_AM_BUFFERED)
-
-enum
-{ PARTITION_ENTRY_UNUSED = 0x00,
- PARTITION_FAT_12 = 0x01,
- PARTITION_XENIX_1 = 0x02,
- PARTITION_XENIX_2 = 0x03,
- PARTITION_FAT_16 = 0x04,
- PARTITION_EXTENDED = 0x05,
- PARTITION_HUGE = 0x06,
- PARTITION_IFS = 0x07,
- PARTITION_OS2BOOTMGR = 0x0A,
- PARTITION_FAT32 = 0x0B,
- PARTITION_FAT32_XINT13 = 0x0C,
- PARTITION_XINT13 = 0x0E,
- PARTITION_XINT13_EXTENDED = 0x0F,
- PARTITION_PREP = 0x41,
- PARTITION_LDM = 0x42,
- PARTITION_UNIX = 0x63,
- PARTITION_NTFT = 0x80,
- VALID_NTFT = 0xC0
-};
-
-#define IsRecognizedPartition( TYPE ) \
- ( (((TYPE) & PARTITION_NTFT) && (((TYPE) & ~VALID_NTFT) == PARTITION_FAT_12))\
- || (((TYPE) & PARTITION_NTFT) && (((TYPE) & ~VALID_NTFT) == PARTITION_HUGE))\
- || (((TYPE) & PARTITION_NTFT) && (((TYPE) & ~VALID_NTFT) == PARTITION_IFS))\
- || (((TYPE) & PARTITION_NTFT) && (((TYPE) & ~VALID_NTFT) == PARTITION_FAT32))\
- || (((TYPE) & PARTITION_NTFT) && (((TYPE) & ~VALID_NTFT) == PARTITION_FAT32_XINT13))\
- || (((TYPE) & PARTITION_NTFT) && (((TYPE) & ~VALID_NTFT) == PARTITION_XINT13))\
- || ((TYPE) == PARTITION_FAT32) || ((TYPE) == PARTITION_FAT32_XINT13)\
- || ((TYPE) == PARTITION_FAT_12) || ((TYPE) == PARTITION_FAT_16)\
- || ((TYPE) == PARTITION_HUGE) || ((TYPE) == PARTITION_IFS)\
- || ((TYPE) == PARTITION_XINT13)\
- )
-#define IsContainerPartition( TYPE ) \
- (((TYPE) == PARTITION_EXTENDED) || ((TYPE) == PARTITION_XINT13_EXTENDED))
-
-typedef
-enum _MEDIA_TYPE
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff562216(v=vs.85).aspx */
-{ Unknown = 0x00,
- F5_1Pt2_512 = 0x01,
- F3_1Pt44_512 = 0x02,
- F3_2Pt88_512 = 0x03,
- F3_20Pt8_512 = 0x04,
- F3_720_512 = 0x05,
- F5_360_512 = 0x06,
- F5_320_512 = 0x07,
- F5_320_1024 = 0x08,
- F5_180_512 = 0x09,
- F5_160_512 = 0x0A,
- RemovableMedia = 0x0B,
- FixedMedia = 0x0C,
- F3_120M_512 = 0x0D,
- F3_640_512 = 0x0E,
- F5_640_512 = 0x0F,
- F5_720_512 = 0x10,
- F3_1Pt2_512 = 0x11,
- F3_1Pt23_1024 = 0x12,
- F5_1Pt23_1024 = 0x13,
- F3_128Mb_512 = 0x14,
- F3_230Mb_512 = 0x15,
- F8_256_128 = 0x16,
- F3_200Mb_512 = 0x17,
- F3_240M_512 = 0x18,
- F3_32M_512 = 0x19
-} MEDIA_TYPE, *PMEDIA_TYPE;
-
-typedef
-enum _DETECTION_TYPE
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552516%28v=vs.85%29.aspx */
-{ DetectNone = 0,
- DetectInt13 = 1,
- DetectExInt13 = 2
-} DETECTION_TYPE;
-
-typedef
-struct _DISK_INT13_INFO
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552624(v=vs.85).aspx */
-{ USHORT DriveSelect;
- ULONG MaxCylinders;
- USHORT SectorsPerTrack;
- USHORT MaxHeads;
- USHORT NumberDrives;
-} DISK_INT13_INFO, *PDISK_INT13_INFO;
-
-typedef
-struct _DISK_EX_INT13_INFO
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552610(v=vs.85).aspx */
-{ USHORT ExBufferSize;
- USHORT ExFlags;
- ULONG ExCylinders;
- ULONG ExHeads;
- ULONG ExSectorsPerTrack;
- ULONG64 ExSectorsPerDrive;
- USHORT ExSectorSize;
- USHORT ExReserved;
-} DISK_EX_INT13_INFO, *PDISK_EX_INT13_INFO;
-
-typedef
-struct _DISK_DETECTION_INFO
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552601(v=vs.85).aspx */
-{ ULONG SizeOfDetectInfo;
- DETECTION_TYPE DetectionType;
- _ANONYMOUS_UNION union
- { _ANONYMOUS_STRUCT struct
- { DISK_INT13_INFO Int13;
- DISK_EX_INT13_INFO ExInt13;
- } DUMMYSTRUCTNAME;
- } DUMMYUNIONNAME;
-} DISK_DETECTION_INFO, *PDISK_DETECTION_INFO;
-
-typedef
-struct _DISK_GEOMETRY
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552613(v=vs.85).aspx */
-{ LARGE_INTEGER Cylinders;
- MEDIA_TYPE MediaType;
- ULONG TracksPerCylinder;
- ULONG SectorsPerTrack;
- ULONG BytesPerSector;
-} DISK_GEOMETRY, *PDISK_GEOMETRY;
-
-typedef
-struct _DISK_GEOMETRY_EX
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552618(v=vs.85).aspx */
-{ DISK_GEOMETRY Geometry;
- LARGE_INTEGER DiskSize;
- UCHAR Data[1];
-} DISK_GEOMETRY_EX, *PDISK_GEOMETRY_EX;
-
-/* Note: although declared as an array of only one byte, the Data area within
- * the DISK_GEOMETRY_EX structure represents a variable size region containing
- * a DISK_PARTITION_INFO structure followed by a DISK_DETECTION_INFO structure;
- * the above <ddk/ntdddisk.h> reference defines the following pair of macros,
- * for obtaining pointers to the embedded structures, given a pointer to the
- * containing DISK_GEOMETRY_EX structure itself; (the corresponding reference
- * for <winioctl.h> refers to these macros, without defining them).
- */
-#if NTDDI_VERSION < NTDDI_WS03
- /* FIXME: given the above definition for DISK_GEOMETRY_EX, this pair of
- * macro definitions makes no sense at all...
- */
-# define DiskGeometryGetPartition(Geometry) \
- ((PDISK_PARTITION_INFO)((Geometry) + 1))
-
-# define DiskGeometryGetDetect(Geometry) \
- ((PDISK_DETECTION_INFO)(((PBYTE)DiskGeometryGetPartition(Geometry) + \
- DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo)))
-#else
- /* ...whereas this pair would seem to be appropriate, regardless of the
- * underlying NTDDI_VERSION.
- */
-# define DiskGeometryGetPartition(Geometry) \
- ((PDISK_PARTITION_INFO)((Geometry)->Data))
-
-# define DiskGeometryGetDetect(Geometry) \
- ((PDISK_DETECTION_INFO)(((ULONG_PTR)DiskGeometryGetPartition(Geometry) + \
- DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo)))
-#endif
-
-typedef
-struct _PARTITION_INFORMATION
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff563751(v=vs.85).aspx */
-{ LARGE_INTEGER StartingOffset;
- LARGE_INTEGER PartitionLength;
- ULONG HiddenSectors;
- ULONG PartitionNumber;
- UCHAR PartitionType;
- BOOLEAN BootIndicator;
- BOOLEAN RecognizedPartition;
- BOOLEAN RewritePartition;
-} PARTITION_INFORMATION, *PPARTITION_INFORMATION;
-
-typedef
-struct _PARTITION_INFORMATION_GPT
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff563763(v=vs.85).aspx */
-{ GUID PartitionType;
- GUID PartitionId;
- ULONG64 Attributes;
- WCHAR Name[36];
-} PARTITION_INFORMATION_GPT, *PPARTITION_INFORMATION_GPT;
-
-typedef
-struct _DISK_PARTITION_INFO
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552629(v=vs.85).aspx */
-{ ULONG SizeOfPartitionInfo;
- PARTITION_STYLE PartitionStyle;
- _ANONYMOUS_UNION union
- { struct
- { ULONG Signature;
- ULONG CheckSum;
- } Mbr;
- struct
- { GUID DiskId;
- } Gpt;
- } DUMMYUNIONNAME;
-} DISK_PARTITION_INFO, *PDISK_PARTITION_INFO;
-
-typedef
-struct _DISK_PERFORMANCE
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552633(v=vs.85).aspx */
-{ LARGE_INTEGER BytesRead;
- LARGE_INTEGER BytesWritten;
- LARGE_INTEGER ReadTime;
- LARGE_INTEGER WriteTime;
- LARGE_INTEGER IdleTime;
- ULONG ReadCount;
- ULONG WriteCount;
- ULONG QueueDepth;
- ULONG SplitCount;
- LARGE_INTEGER QueryTime;
- ULONG StorageDeviceNumber;
- WCHAR StorageManagerName[8];
-} DISK_PERFORMANCE, *PDISK_PERFORMANCE;
-
-typedef
-struct _PARTITION_INFORMATION_EX
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff563754(v=vs.85).aspx */
-{ PARTITION_STYLE PartitionStyle;
- LARGE_INTEGER StartingOffset;
- LARGE_INTEGER PartitionLength;
- ULONG PartitionNumber;
- BOOLEAN RewritePartition;
- _ANONYMOUS_UNION union
- { PARTITION_INFORMATION_MBR Mbr;
- PARTITION_INFORMATION_GPT Gpt;
- } DUMMYUNIONNAME;
-} PARTITION_INFORMATION_EX, *PPARTITION_INFORMATION_EX;
-
-typedef
-struct _FORMAT_EX_PARAMETERS
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff553875(v=vs.85).aspx */
-{ MEDIA_TYPE MediaType;
- ULONG StartCylinderNumber;
- ULONG EndCylinderNumber;
- ULONG StartHeadNumber;
- ULONG EndHeadNumber;
- USHORT FormatGapLength;
- USHORT SectorsPerTrack;
- USHORT SectorNumber[1];
-} FORMAT_EX_PARAMETERS, *PFORMAT_EX_PARAMETERS;
-
-typedef
-struct _FORMAT_PARAMETERS
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff553878(v=vs.85).aspx */
-{ MEDIA_TYPE MediaType;
- ULONG StartCylinderNumber;
- ULONG EndCylinderNumber;
- ULONG StartHeadNumber;
- ULONG EndHeadNumber;
-} FORMAT_PARAMETERS, *PFORMAT_PARAMETERS;
-
-typedef
-struct _GET_LENGTH_INFORMATION
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff554986(v=vs.85).aspx */
-{ LARGE_INTEGER Length;
-} GET_LENGTH_INFORMATION, *PGET_LENGTH_INFORMATION;
-
-typedef
-struct _REASSIGN_BLOCKS
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff563962(v=vs.85).aspx */
-{ USHORT Reserved;
- USHORT Count;
- ULONG BlockNumber[1];
-} REASSIGN_BLOCKS, *PREASSIGN_BLOCKS;
-
-typedef
-struct _SET_PARTITION_INFORMATION
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff566192(v=vs.85).aspx */
-{ UCHAR PartitionType;
-} SET_PARTITION_INFORMATION, *PSET_PARTITION_INFORMATION;
-
-typedef
-struct _VERIFY_INFORMATION
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff568005(v=vs.85).aspx */
-{ LARGE_INTEGER StartingOffset;
- ULONG Length;
-} VERIFY_INFORMATION, *PVERIFY_INFORMATION;
-
-typedef enum
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552583(v=vs.85).aspx */
-{ EqualPriority = 0,
- KeepPrefetchedData = 1,
- KeepReadData = 2
-} DISK_CACHE_RETENTION_PRIORITY;
-
-typedef
-struct _DISK_CACHE_INFORMATION
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552580(v=vs.85).aspx */
-{ BOOLEAN ParametersSavable;
- BOOLEAN ReadCacheEnabled;
- BOOLEAN WriteCacheEnabled;
- DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority;
- DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority;
- USHORT DisablePrefetchTransferLength;
- BOOLEAN PrefetchScalar;
- _ANONYMOUS_UNION union
- { struct
- { USHORT Minimum;
- USHORT Maximum;
- USHORT MaximumBlocks;
- } ScalarPrefetch;
- struct
- { USHORT Minimum;
- USHORT Maximum;
- } BlockPrefetch;
- } DUMMYUNIONNAME;
-} DISK_CACHE_INFORMATION, *PDISK_CACHE_INFORMATION;
-
-typedef
-struct _DISK_GROW_PARTITION
-/* https://msdn.microsoft.com/en-us/library/windows/hardware/ff552621(v=vs.85).aspx */
-{ ULONG PartitionNumber;
- LARGE_INTEGER BytesToGrow;
-} DISK_GROW_PARTITION, *PDISK_GROW_PARTITION;
-
-# define __have_ddk_ntdddisk_includes
-#endif
-
-#undef __need_ddk_ntdddisk_includes
-#undef __need_ddk_ntddstor_includes
-#undef __need_ddk_winddk_includes
-
-/* $RCSfile$: end of file */
diff --git a/w32api/include/winioctl.h b/w32api/include/winioctl.h
index e6973d4..91864b1 100644
--- a/w32api/include/winioctl.h
+++ b/w32api/include/winioctl.h
@@ -34,21 +34,25 @@
#define _WINIOCTL_H
#pragma GCC system_header
+#define __WINIOCTL_H_SOURCED__
+
#ifndef _WINDOWS_H
/* FIXME: MSDN says that including <windows.h> should suffice to expose
* the content of this header, but this implementation does not satisfy
* that requirement. Furthermore, this implementation cannot itself be
* included, unless <windows.h>, (or at least the content from those of
* its subsidiary headers which define Microsoft's peculiar, obfuscated
- * data types), has been included first.
+ * data types), has been included first; enforce this requirement.
*/
+#include <windows.h>
#endif
/* This file is required to provide a number of definitions which are
- * duplicated in the Windows DDK headers; retrieve them from the common
- * header file...
+ * duplicated in the Windows DDK headers; retrieve these definitions by
+ * selective inclusion from the appropriate DDK header files...
*/
-#include <parts/winioctl.h>
+#include <ddk/winddk.h>
+#include <ddk/ntdddisk.h>
_BEGIN_C_DECLS
@@ -270,4 +274,5 @@ typedef struct
_END_C_DECLS
+#undef __WINIOCTL_H_SOURCED__
#endif /* _WINIOCTL_H: $RCSfile$: end of file */
-----------------------------------------------------------------------
Summary of changes:
w32api/ChangeLog | 15 +
w32api/include/ddk/ntdddisk.h | 379 +++++++++++++++++++++-
w32api/include/ddk/ntddstor.h | 74 ++++-
w32api/include/ddk/winddk.h | 180 ++++++++++-
w32api/include/parts/winioctl.h | 678 ---------------------------------------
w32api/include/winioctl.h | 13 +-
6 files changed, 635 insertions(+), 704 deletions(-)
delete mode 100644 w32api/include/parts/winioctl.h
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-05-03 18:01:38
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via 72735879313668626931215ec85dc0e8b90b59a4 (commit)
via c8dabf93d11e1eae38417483ca3d6efb86786864 (commit)
via bfa9328446be2004e765793605e2e09435b62df4 (commit)
from 40713b7cbd4d766a71a78c6b3cdd79a6491cdf96 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/72735879313668626931215ec85dc0e8b90b59a4/
commit 72735879313668626931215ec85dc0e8b90b59a4
Author: Keith Marshall <kei...@us...>
Date: Tue May 3 18:40:54 2016 +0100
Enforce consistent specification of package version.
--HG--
rename : mingwrt/include/_mingw.h => mingwrt/include/_mingw.h.in
rename : w32api/include/w32api.h => w32api/include/w32api.h.in
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 836d084..7d9c574 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,26 @@
+2016-05-03 Keith Marshall <kei...@us...>
+
+ Enforce consistent specification of package version.
+
+ * include/_mingw.h: Rename as...
+ * include/_mingw.h.in: ...this build-time template file.
+ (__MINGW32_VERSION): Redefine it, in terms of...
+ (%PACKAGE_VERSION_LONG%): ...this substitution template.
+ (__MINGW32_MAJOR_VERSION, __MINGW32_MINOR_VERSION)
+ (__MINGW32_PATCHLEVEL): Likewise, redefine them in terms of...
+ (%PACKAGE_VERSION_MAJOR%, %PACKAGE_VERSION_MINOR%)
+ (%PACKAGE_VERSION_PATCH%): ...these.
+
+ * configure.ac (AC_CONFIG_SRCDIR): Adjust for renamed file.
+ (MINGW_AC_CONFIG_EXTRA_SRCDIR): Likewise, for similarly renamed
+ w32api/include/w32api.h.in file.
+
+ * Makefile.in (all-mingwrt-stage-1-only): Add dependency on...
+ (_mingw.h, w32api.h): ...these; add rule to generate them, using...
+ (PACKAGE_VERSION_SCRIPT, PACKAGE_VERSION_FORMAT): ...these new macros;
+ they apply appropriate substitutions to the renamed template files.
+ (install-mingwrt-headers): Explicitly add _mingwrt.h
+
2016-04-30 Keith Marshall <kei...@us...>
Make strnlen() available for all MSVCRT.DLL versions.
diff --git a/mingwrt/Makefile.in b/mingwrt/Makefile.in
index b2ec873..9da8d14 100644
--- a/mingwrt/Makefile.in
+++ b/mingwrt/Makefile.in
@@ -7,7 +7,7 @@ PACKAGE_TARNAME := @PACKAGE_TARNAME@
PACKAGE_VERSION := @PACKAGE_VERSION@
# Written by Keith Marshall <kei...@us...>
-# Copyright (C) 2014, 2015, MinGW.org Project
+# Copyright (C) 2014-2016, MinGW.org Project
#
#
# Permission is hereby granted, free of charge, to any person obtaining a
@@ -70,6 +70,7 @@ STRIP = @STRIP@
NM = @NM@
all: @DEFAULT_MAKECMDGOALS@
+all-mingwrt-stage-1-only: _mingw.h w32api.h
all-mingwrt-stage-1-only: all-mingwrt-objects all-mingwrt-libs
all-mingwrt-stage-1-and-2: all-mingwrt-stage-1-only all-mingwrt-dll
all-mingwrt: all-mingwrt-stage-1-and-2
@@ -140,6 +141,27 @@ vpath configure.ac ${top_srcdir}
configure: configure.ac aclocal.m4
cd ${top_srcdir}; autoconf
+# Propagate package version, as configured, consistently throughout
+# the package build.
+#
+vpath _mingw.h.in ${top_srcdir}/include
+vpath w32api.h.in ${w32api_srcdir}/include
+
+_mingw.h w32api.h: configure.ac
+
+PACKAGE_VERSION_SCRIPT = sed \
+ -e s"`$(call PACKAGE_VERSION_FORMAT,LONG,%d,$$3+1000*($$2+1000*$$1))`" \
+ -e s"`$(call PACKAGE_VERSION_FORMAT,MAJOR,%7d,$$1)`" \
+ -e s"`$(call PACKAGE_VERSION_FORMAT,MINOR,%7d,$$2)`" \
+ -e s"`$(call PACKAGE_VERSION_FORMAT,PATCH,%7d,$$3)`"
+
+PACKAGE_VERSION_FORMAT = echo $(PACKAGE_VERSION).0.0 | awk -F. '{ \
+ printf ",%%PACKAGE_VERSION_$1%%,$2,", $3; \
+}'
+
+_mingw.h w32api.h: %.h: %.h.in
+ $(PACKAGE_VERSION_SCRIPT) $< > $@
+
# Capture dependencies conveyed within source files, ensuring that
# header files are taken from our working source tree, and not from
# the build-time compiler's installation path. (Note: we use -MD,
@@ -698,7 +720,8 @@ mingwrt-includedirs: includedir $(eval mingwrt_include_subdirs=sys parts)
SUB_HEADERS_PRESENT = echo $1/include/$2/*.h | grep -v '[*]' > /dev/null
INSTALL_SUB_HEADERS = $(call INSTALL_DATA,$1/include/$2/*.h,${includedir}/$2)
-install-mingwrt-headers: mingwrt-includedirs
+install-mingwrt-headers: _mingw.h mingwrt-includedirs
+ $(call INSTALL_DATA,_mingw.h,${includedir})
$(call INSTALL_DATA,${mingwrt_srcdir}/include/*.h,${includedir})
for dir in $(mingwrt_include_subdirs); do \
if $(call SUB_HEADERS_PRESENT,${mingwrt_srcdir},$$dir); then \
diff --git a/mingwrt/configure.ac b/mingwrt/configure.ac
index a6ba253..3bc73a4 100644
--- a/mingwrt/configure.ac
+++ b/mingwrt/configure.ac
@@ -6,7 +6,7 @@
# $Id$
#
# Written by Keith Marshall <kei...@us...>
-# Copyright (C) 2014, 2015, MinGW.org Project
+# Copyright (C) 2014-2016, MinGW.org Project
#
#
# Permission is hereby granted, free of charge, to any person obtaining a
@@ -29,11 +29,11 @@
# DEALINGS IN THE SOFTWARE.
#
AC_PREREQ([2.64])
- AC_INIT([MinGW Runtime],[3.21.1],[http://mingw.org/Reporting_Bugs],[mingwrt])
+ AC_INIT([MinGW C Runtime],[3.21.2],[http://mingw.org/Reporting_Bugs],[mingwrt])
AC_PREFIX_DEFAULT([/mingw])
- AC_CONFIG_SRCDIR([include/_mingw.h])
- MINGW_AC_CONFIG_EXTRA_SRCDIR([w32api],[include/w32api.h])
+ AC_CONFIG_SRCDIR([include/_mingw.h.in])
+ MINGW_AC_CONFIG_EXTRA_SRCDIR([w32api],[include/w32api.h.in])
MINGW_AC_PROG_CC_COMPILE_ONLY
MINGW_AC_PROG_COMPILE_SX
diff --git a/mingwrt/include/_mingw.h b/mingwrt/include/_mingw.h.in
similarity index 97%
rename from mingwrt/include/_mingw.h
rename to mingwrt/include/_mingw.h.in
index a2b8cb8..8328298 100644
--- a/mingwrt/include/_mingw.h
+++ b/mingwrt/include/_mingw.h.in
@@ -41,11 +41,15 @@
* which encodes the version as a long integer value, expressing:
*
* __MINGW32_VERSION = 1,000,000 * major + 1,000 * minor + patch
+ *
+ * DO NOT EDIT these package version assignments manually; they are
+ * derived from the package version specification within configure.ac,
+ * whence they are propagated automatically, at package build time.
*/
-#define __MINGW32_VERSION 3021001L
-#define __MINGW32_MAJOR_VERSION 3
-#define __MINGW32_MINOR_VERSION 21
-#define __MINGW32_PATCHLEVEL 1
+#define __MINGW32_VERSION %PACKAGE_VERSION_LONG%L
+#define __MINGW32_MAJOR_VERSION %PACKAGE_VERSION_MAJOR%
+#define __MINGW32_MINOR_VERSION %PACKAGE_VERSION_MINOR%
+#define __MINGW32_PATCHLEVEL %PACKAGE_VERSION_PATCH%
#if __GNUC__ >= 3 && ! defined __PCC__
#pragma GCC system_header
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index e18f6e4..4dbed4e 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,26 @@
+2016-05-03 Keith Marshall <kei...@us...>
+
+ Enforce consistent specification of package version.
+
+ * include/w32api.h: Rename as...
+ * include/w32api.h.in: ...this build-time template file.
+ (__W32API_VERSION): Redefine it, in terms of...
+ (%PACKAGE_VERSION_LONG%): ...this substitution template.
+ (__W32API_MAJOR_VERSION, __W32API_MINOR_VERSION)
+ (__W32API_PATCHLEVEL): Likewise, redefine them in terms of...
+ (%PACKAGE_VERSION_MAJOR%, %PACKAGE_VERSION_MINOR%)
+ (%PACKAGE_VERSION_PATCH%): ...these.
+
+ * configure.ac (AC_CONFIG_SRCDIR): Adjust for renamed file.
+ (MINGW_AC_CONFIG_EXTRA_SRCDIR): Likewise, for similarly renamed
+ mingwrt/include/_mingw.h.in file.
+
+ * Makefile.in (all-w32api-libs): Add dependency on...
+ (w32api.h, _mingw.h): ...these; add rule to generate them, using...
+ (PACKAGE_VERSION_SCRIPT, PACKAGE_VERSION_FORMAT): ...these new macros;
+ they apply appropriate substitutions to the renamed template files.
+ (install-w32api-headers): Explicitly add w32api.h
+
2015-11-14 Keith Marshall <kei...@us...>
Refactor for Windows DDK synchronization; fix MinGW-Bug [#1954].
diff --git a/w32api/Makefile.in b/w32api/Makefile.in
index 11dfb3a..56c4c73 100644
--- a/w32api/Makefile.in
+++ b/w32api/Makefile.in
@@ -7,7 +7,7 @@ PACKAGE_TARNAME := @PACKAGE_TARNAME@
PACKAGE_VERSION := @PACKAGE_VERSION@
# Written by Keith Marshall <kei...@us...>
-# Copyright (C) 2014, 2015, MinGW.org Project
+# Copyright (C) 2014-2016, MinGW.org Project
#
#
# Permission is hereby granted, free of charge, to any person obtaining a
@@ -113,6 +113,27 @@ vpath configure.ac ${top_srcdir}
configure: configure.ac aclocal.m4
cd ${top_srcdir}; autoconf
+# Propagate package version, as configured, consistently throughout
+# the package build.
+#
+vpath w32api.h.in ${top_srcdir}/include
+vpath _mingw.h.in ${mingwrt_srcdir}/include
+
+w32api.h _mingw.h: configure.ac
+
+PACKAGE_VERSION_SCRIPT = sed \
+ -e s"`$(call PACKAGE_VERSION_FORMAT,LONG,%d,$$3+1000*($$2+1000*$$1))`" \
+ -e s"`$(call PACKAGE_VERSION_FORMAT,MAJOR,%7d,$$1)`" \
+ -e s"`$(call PACKAGE_VERSION_FORMAT,MINOR,%7d,$$2)`" \
+ -e s"`$(call PACKAGE_VERSION_FORMAT,PATCH,%7d,$$3)`"
+
+PACKAGE_VERSION_FORMAT = echo $(PACKAGE_VERSION).0.0 | awk -F. '{ \
+ printf ",%%PACKAGE_VERSION_$1%%,$2,", $3; \
+}'
+
+w32api.h _mingw.h: %.h: %.h.in
+ $(PACKAGE_VERSION_SCRIPT) $< > $@
+
# Capture dependencies conveyed within source files, ensuring that
# header files are taken from our working source tree, and not from
# the build-time compiler's installation path. (Note: we use -MD,
@@ -136,6 +157,7 @@ deffiles = $(eval vpath %.def $1)$(notdir $(wildcard $1/*.def))
implibfiles = $(addprefix lib,$(subst .def,.a,$(call deffiles,$1)))
all: all-w32api-libs
+all-w32api-libs: w32api.h _mingw.h
all-w32api-libs install-w32api-libs: $(call implibfiles,${srcdir}/lib)
all-w32api-libs install-w32api-libs: $(call implibfiles,${srcdir}/lib/directx)
all-w32api-libs install-w32api-libs: $(call implibfiles,${srcdir}/lib/ddk)
@@ -238,8 +260,8 @@ w32api-include-dirs: includedir
w32api-lib-dirs: libdir
install-headers: install-w32api-headers
-install-w32api-headers: w32api-include-dirs
- $(call INSTALL_DATA,${srcdir}/include/*.h,${includedir})
+install-w32api-headers: w32api.h w32api-include-dirs
+ $(call INSTALL_DATA,w32api.h ${srcdir}/include/*.h,${includedir})
for dir in $(w32api_extra_include_dirs); do \
$(call INSTALL_DATA,${srcdir}/include/$$dir/*.h,${includedir}); \
done
diff --git a/w32api/configure.ac b/w32api/configure.ac
index 28e4050..c3cc008 100644
--- a/w32api/configure.ac
+++ b/w32api/configure.ac
@@ -6,7 +6,7 @@
# $Id$
#
# Written by Keith Marshall <kei...@us...>
-# Copyright (C) 2015, MinGW.org Project
+# Copyright (C) 2015, 2016, MinGW.org Project
#
#
# Permission is hereby granted, free of charge, to any person obtaining a
@@ -29,11 +29,11 @@
# DEALINGS IN THE SOFTWARE.
#
AC_PREREQ([2.64])
- AC_INIT([Win32 API],[3.18],[http://mingw.org/Reporting_Bugs],[w32api])
+ AC_INIT([MinGW Win32 API],[3.18],[http://mingw.org/Reporting_Bugs],[w32api])
AC_PREFIX_DEFAULT([/mingw])
- AC_CONFIG_SRCDIR([include/w32api.h])
- MINGW_AC_CONFIG_EXTRA_SRCDIR([mingwrt],[include/_mingw.h])
+ AC_CONFIG_SRCDIR([include/w32api.h.in])
+ MINGW_AC_CONFIG_EXTRA_SRCDIR([mingwrt],[include/_mingw.h.in])
MINGW_AC_PROG_CC_COMPILE_ONLY
diff --git a/w32api/include/w32api.h b/w32api/include/w32api.h.in
similarity index 93%
rename from w32api/include/w32api.h
rename to w32api/include/w32api.h.in
index b9d9564..e7ebf5b 100644
--- a/w32api/include/w32api.h
+++ b/w32api/include/w32api.h.in
@@ -7,7 +7,7 @@
* $Id$
*
* Written by Earnie Boyd <ea...@us...>
- * Copyright (C) 2001-2011, 2015, MinGW.org Project
+ * Copyright (C) 2001-2011, 2015, 2016, MinGW.org Project
*
*
* Permission is hereby granted, free of charge, to any person obtaining a
@@ -43,11 +43,15 @@
* expressing:
*
* __W32API_VERSION = 1,000,000 * major + 1,000 * minor + patch
+ *
+ * DO NOT EDIT these package version assignments manually; they are
+ * derived from the package version specification within configure.ac,
+ * whence they are propagated automatically, at package build time.
*/
-#define __W32API_VERSION 3017000L
-#define __W32API_MAJOR_VERSION 3
-#define __W32API_MINOR_VERSION 17
-#define __W32API_PATCH_LEVEL 0
+#define __W32API_VERSION %PACKAGE_VERSION_LONG%L
+#define __W32API_MAJOR_VERSION %PACKAGE_VERSION_MAJOR%
+#define __W32API_MINOR_VERSION %PACKAGE_VERSION_MINOR%
+#define __W32API_PATCHLEVEL %PACKAGE_VERSION_PATCH%
/* The underlying operating system platform version, and its
* identifying macros for application support, are established by:
https://sf.net/p/mingw/mingw-org-wsl/ci/c8dabf93d11e1eae38417483ca3d6efb86786864/
commit c8dabf93d11e1eae38417483ca3d6efb86786864
Author: Keith Marshall <kei...@us...>
Date: Sat Apr 30 20:57:08 2016 +0100
Make strnlen() available for all MSVCRT.DLL versions.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 83fe8f2..836d084 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,22 @@
+2016-04-30 Keith Marshall <kei...@us...>
+
+ Make strnlen() available for all MSVCRT.DLL versions.
+
+ * msvcrt-xref/msvcrt.def.in (strnlen): Mark it as...
+ (__MINGW_DLSYM): ...this, excluding its exposure in libmsvcrt.dll, and
+ thus requiring a dlsym() lookup for versions which provide it.
+
+ * include/string.h [__MSVCRT_VERSION__>=__MSVCR80_DLL] (strnlen):
+ Declare prototype, for use from these non-free DLLs, otherwise...
+ [_POSIX_C_SOURCE >= 200809L] (strnlen): Define it as an alias for...
+ (__mingw_strnlen): ...this new libmingwex.a function.
+
+ * mingwex/strnlen.s: New file; it implements...
+ (__mingw_strnlen, __mingw_strnlen_s): ...these new functions.
+
+ * Makefile.in (libmingwex.a): Add requirement for...
+ (strnlen.$OBJEXT): ...this; add vpath specification for its source.
+
2016-04-26 Keith Marshall <kei...@us...>
Use correct paths for partially included header files.
diff --git a/mingwrt/Makefile.in b/mingwrt/Makefile.in
index 9957a56..b2ec873 100644
--- a/mingwrt/Makefile.in
+++ b/mingwrt/Makefile.in
@@ -462,8 +462,9 @@ libmingwex.a: $(addsuffix .$(OBJEXT), tdelete tfind tsearch twalk)
libmingwex.a: gettimeofday.$(OBJEXT)
libmingwex.a: $(addsuffix .$(OBJEXT), dirent wdirent dlfcn)
-libmingwex.a: $(addsuffix .$(OBJEXT), fwide mbrtowc mbsinit wcrtomb wcstof \
- wcstold wctob wmemchr wmemcmp wmemcpy wmemmove wmemset)
+vpath %.s ${mingwrt_srcdir}/mingwex
+libmingwex.a: $(addsuffix .$(OBJEXT), fwide mbrtowc mbsinit strnlen wcrtomb \
+ wcstof wcstold wctob wmemchr wmemcmp wmemcpy wmemmove wmemset)
libmingwex.a: $(addsuffix .$(OBJEXT), wctrans wctype)
diff --git a/mingwrt/include/string.h b/mingwrt/include/string.h
index c10c23f..c617ca9 100644
--- a/mingwrt/include/string.h
+++ b/mingwrt/include/string.h
@@ -152,6 +152,33 @@ _CRTIMP __cdecl __MINGW_NOTHROW void swab (const char *, char *, size_t);
#include <wchar.h>
#endif /* ! __STRICT_ANSI__ */
+
+#if __MSVCRT_VERSION__ >= __MSVCR80_DLL
+/* MSVCR80.DLL adds a (mostly) POSIX.1-2008 conforming strnlen(); (it's
+ * also available in MSVCRT.DLL from _WIN32_WINNT_VISTA onwards, but we
+ * pretend otherwise, since recent GCC will try to use the function when
+ * it can be found in libmsvcrt.a, so breaking it for use on WinXP and
+ * earlier).
+ */
+_CRTIMP __cdecl __MINGW_NOTHROW char *strnlen (const char *, size_t);
+
+#elif _POSIX_C_SOURCE >= 200809L
+/* Emulation, to support recent POSIX.1; we prefer this for ALL versions
+ * of MSVCRT.DLL, (even those which already provide strnlen()); to avoid
+ * the GCC breakage noted above. (Note that we implement strnlen() with
+ * the alternative external name, __mingw_strnlen() in libmingwex.a, to
+ * avoid possible link time collision with MSVCR80.DLL's implementation,
+ * then map this to strnlen() via a preprocessor define, so that users
+ * may use it conventionally, (including taking its address); this may
+ * interfere with C++ namespace qualification, but since strnlen() is
+ * not a standard C++ function, we do not anticipate any consequent
+ * usage issues).
+ */
+#define strnlen __mingw_strnlen
+extern size_t __mingw_strnlen (const char *, size_t);
+
+#endif /* _POSIX_C_SOURCE >= 200809L */
+
#undef __STRING_H_SOURCED__
_END_C_DECLS
diff --git a/mingwrt/mingwex/strnlen.s b/mingwrt/mingwex/strnlen.s
new file mode 100644
index 0000000..e023a69
--- /dev/null
+++ b/mingwrt/mingwex/strnlen.s
@@ -0,0 +1,109 @@
+/*
+ * strnlen.s
+ *
+ * Implementation of POSIX.1-2008 conforming strnlen(), and a wrapper
+ * extending it to conform with ISO-C11 TR-24731-1 strnlen_s().
+ *
+ * $Id$
+ *
+ * Written by Keith Marshall <kei...@us...>
+ * Copyright (C) 2016, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ *
+ * This file implements a POSIX.1-2008 conforming strnlen() function, under
+ * the alternative public name of __mingw_strnlen(), (to avoid any possible
+ * conflict with Microsoft's DLL implementations, or a replacement function
+ * implemented by the user).
+ *
+ * Note that POSIX does not prescribe any error returns for its strnlen()
+ * function; in particular, it does not specify handling of a NULL pointer,
+ * passed as the string argument to count, and thus, a segmentation fault
+ * is a plausible outcome. This is consistent with the behaviour exhibited
+ * by Microsoft's implementation, and this implementation acts likewise.
+ *
+ * OTOH, ISO-C11 TR-24731-1 prescribes that strnlen_s() shall return zero,
+ * when passed a NULL pointer as the string argument; the alternative entry
+ * point, __mingw_strnlen_s(), checks for this anomaly, and acts accordingly,
+ * before continuing as for __mingw_strnlen(), when passed a valid pointer
+ * to a string argument; (this is consistent with the documented behaviour
+ * of Microsoft's strnlen_s() implementation).
+ *
+ * Note that I've chosen to implement this in assembly language to enable
+ * sharing of common code between two distinct entry points, with subtly
+ * differing behaviours, while avoiding the overhead of an extra function
+ * call to invoke such shared code; this also allows the code to exploit
+ * the CUP's string scanning instructions, (which GCC does not), and so
+ * achieves a more compact, (and likely more efficient), implementation.
+ *
+ */
+.text
+.align 4
+.globl ___mingw_strnlen
+.def ___mingw_strnlen; .scl 2; .type 32; .endef
+
+___mingw_strnlen:
+/* Implements: size_t __mingw_strnlen (const char *string, size_t maxlen );
+ *
+ * Scans at most maxlen chars, returning the lesser of strlen (string) and
+ * maxlen; does NOT check for string == NULL, which may thus induce failure
+ * with a segmentation fault. Note that initialization of return count to
+ * zero, in EAX, also serves as the NUL char reference for SCASB, in AL.
+ */
+ pushl %edi /* must preserve this */
+ xorl %eax, %eax /* initialize return count to zero */
+ movl 8(%esp), %edx /* load address of string argument */
+.L1:
+ movl 12(%esp), %ecx /* load maxlen ... */
+ jecxz .L4 /* and jump to end, if it's zero */
+.L2:
+ cld /* scan string from low-->high address */
+ movl %edx, %edi /* using this as the scan pointer ... */
+ repne scasb /* as required by this CPU scan */
+ mov %edi, %eax /* note where we stopped ... */
+ jz .L3 /* but if we found NUL, we've overrun ... */
+ decl %eax /* so we need to adjust one byte backward */
+.L3:
+ sub %edx, %eax /* compute effective count to return */
+.L4:
+ popl %edi /* restore saved register ... */
+ ret /* and we're done */
+
+.align 4
+.globl ___mingw_strnlen_s
+.def ___mingw_strnlen_s; .scl 2; .type 32; .endef
+
+___mingw_strnlen_s:
+/* Implements: size_t __mingw_strnlen_s (const char *string, size_t maxlen );
+ *
+ * Exhibits identical behaviour to __mingw_strnlen(), EXCEPT that it DOES
+ * check for string == NULL, returning zero when found.
+ */
+ pushl %edi /* must preserve this */
+ xorl %eax, %eax /* initialize return count to zero */
+ movl 8(%esp), %edx /* load address of string argument ... */
+ testl %edx, %edx /* checking for NULL pointer, and ... */
+ jnz .L1 /* proceeding as strnlen(), if not ... */
+ popl %edi /* otherwise restore saved register ... */
+ ret /* and return zero count value */
+
+/* $RCSfile$: end of file */
diff --git a/mingwrt/msvcrt-xref/msvcrt.def.in b/mingwrt/msvcrt-xref/msvcrt.def.in
index fcb586f..5936ce2 100644
--- a/mingwrt/msvcrt-xref/msvcrt.def.in
+++ b/mingwrt/msvcrt-xref/msvcrt.def.in
@@ -3417,7 +3417,7 @@ strncpy
#if __MSVCRT_VERSION__ >= 0x0600UL
# if __MSVCRT_VERSION__ < 0x07000000UL || __MSVCRT_VERSION__ >= 0x08000000UL
strncpy_s
-strnlen
+__MINGW_DLSYM(strnlen); exposure in libmsvcrt.a may break GCC builds.
# endif
#endif
strpbrk
https://sf.net/p/mingw/mingw-org-wsl/ci/bfa9328446be2004e765793605e2e09435b62df4/
commit bfa9328446be2004e765793605e2e09435b62df4
Author: Keith Marshall <kei...@us...>
Date: Tue Apr 26 23:05:33 2016 +0100
Use correct paths for partially included header files.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index e8ff75b..83fe8f2 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,15 @@
+2016-04-26 Keith Marshall <kei...@us...>
+
+ Use correct paths for partially included header files.
+
+ * include/io.h include/process.h: Use 'iquote' #include "stdint.h", to
+ ensure that we get stdint.h from the same include directory.
+ * include/stdio.h: Likewise for #include "stdarg.h", and "sys/types.h"
+ * include/wchar.h: Likewise for all of #include "stdio.h", "stdlib.h",
+ "direct.h", "sys/stat.h", "io.h", "time.h", "locale.h", and "process.h"
+ * include/dir.h include/dos.h: Likewise for #include "io.h"
+ * include/direct.h: Likewise for #include "dos.h"
+
2016-04-13 Keith Marshall <kei...@us...>
Generalize procedure for installing manpages.
diff --git a/mingwrt/include/dir.h b/mingwrt/include/dir.h
index 6897d82..a5714a1 100644
--- a/mingwrt/include/dir.h
+++ b/mingwrt/include/dir.h
@@ -35,6 +35,6 @@
#define _DIR_H
#warning "<dir.h> is obsolete; please use <io.h> instead."
-#include <io.h>
+#include "io.h"
#endif /* !_DIR_H: $RCSfile$: end of file */
diff --git a/mingwrt/include/direct.h b/mingwrt/include/direct.h
index b533da2..5ce43a6 100644
--- a/mingwrt/include/direct.h
+++ b/mingwrt/include/direct.h
@@ -50,7 +50,7 @@
* from <dos.h>; thus, we may simply include <dos.h> here, and let
* it take care of including both <mingw.h> and <io.h> for us.
*/
-#include <dos.h>
+#include "dos.h"
#undef __DIRECT_H_SOURCED__
#endif /* !__WCHAR_H_SOURCED__ */
diff --git a/mingwrt/include/dos.h b/mingwrt/include/dos.h
index 468af73..6d1435f 100644
--- a/mingwrt/include/dos.h
+++ b/mingwrt/include/dos.h
@@ -53,7 +53,7 @@
* it, while also allowing <direct.h> to delegate responsibility for the
* inclusion of both <_mingw.h> and <io.h> to us.
*/
-#include <io.h>
+#include "io.h"
#ifndef RC_INVOKED
diff --git a/mingwrt/include/io.h b/mingwrt/include/io.h
index 7ab6499..70c1044 100644
--- a/mingwrt/include/io.h
+++ b/mingwrt/include/io.h
@@ -58,10 +58,13 @@
#endif /* !__WCHAR_H_SOURCED__ */
/* This will give us intptr_t, which we need in ALL cases, whether
- * including <io.h> directly, or selectively via <wchar.h>.
+ * including <io.h> directly, or selectively via <wchar.h>; (note: we
+ * use the #include "..." form here, to ensure that we read the type
+ * definition directly from the stdint.h header located in the same
+ * directory as this <io.h> file).
*/
#define __need_intptr_t
-#include <stdint.h>
+#include "stdint.h"
/* Attributes of files as returned by _findfirst() et al. MSDN is not
* explicit about whether or not these should be defined when including
diff --git a/mingwrt/include/process.h b/mingwrt/include/process.h
index cda2e41..aadbc89 100644
--- a/mingwrt/include/process.h
+++ b/mingwrt/include/process.h
@@ -83,10 +83,12 @@
/* All Microsoft implementations of the exec() and spawn() functions
* are declared with intptr_t as their return type; get its definition
- * by selective inclusion from <stdint.h>.
+ * by selective inclusion from "stdint.h"; (note: use #include "..."
+ * here, to avoid side effects from any alternative <stdint.h>, which
+ * is not in the same directory as this <process.h>).
*/
#define __need_intptr_t
-#include <stdint.h>
+#include "stdint.h"
_BEGIN_C_DECLS
@@ -288,4 +290,4 @@ _CRTIMP __cdecl __MINGW_NOTHROW intptr_t _wspawnvpe
_END_C_DECLS
#endif /* ! RC_INVOKED */
-#endif /* !_PROCESS_H: $RCSfile$: endof file */
+#endif /* !_PROCESS_H: $RCSfile$: end of file */
diff --git a/mingwrt/include/stdio.h b/mingwrt/include/stdio.h
index eca9448..ff4723e 100644
--- a/mingwrt/include/stdio.h
+++ b/mingwrt/include/stdio.h
@@ -86,17 +86,20 @@
* preceding groups...
*/
#if defined __need_off_t || defined __need___off64_t
- /* ...to identify a requirement for selective inclusion from...
+ /* ...to identify a requirement for selective inclusion of one or more
+ * of these type definitions from "sys/types.h"; (note that we use the
+ * #include "..." form here, to ensure that we get the correct header
+ * file, relative to the location of this <stdio.h>).
*/
-# include <sys/types.h>
+# include "sys/types.h"
#endif
#ifndef __VALIST
- /* Also similarly, for the va_list type, defined in <stdarg.h>
+ /* Also similarly, for the va_list type, defined in "stdarg.h"
*/
# if defined __GNUC__ && __GNUC__ >= 3
# define __need___va_list
-# include <stdarg.h>
+# include "stdarg.h"
# define __VALIST __builtin_va_list
# else
# define __VALIST char *
diff --git a/mingwrt/include/wchar.h b/mingwrt/include/wchar.h
index da61e4e..a187c7e 100644
--- a/mingwrt/include/wchar.h
+++ b/mingwrt/include/wchar.h
@@ -80,7 +80,7 @@
* retrieve the overlapping content, without requiring duplication of
* that content here; thus, from...
*/
-#include <stdio.h>
+#include "stdio.h"
/* ...we obtain (possibly indirect) definitions and declarations for:
*
* macros NULL, FILENAME_MAX
@@ -144,7 +144,7 @@
*
* In similar fashion, from...
*/
-#include <stdlib.h>
+#include "stdlib.h"
/* ...we obtain prototypes for universally supported functions:
*
* long wcstol (const wchar_t *, wchar_t **, int);
@@ -178,7 +178,7 @@
*
* while from...
*/
-#include <direct.h>
+#include "direct.h"
/* ...we obtain prototypes for each of the following functions,
* (none of which are available when using CRTDLL.DLL):
*
@@ -191,7 +191,7 @@
*
* From...
*/
-#include <sys/stat.h>
+#include "sys/stat.h"
/* ...we obtain function prototypes, and all associated data type
* definitions for this pair of actual functions, in all versions of
* MSVCRT.DLL, and its non-free derivatives preceding MSVCR80.DLL, (or
@@ -216,7 +216,7 @@
*
* while from...
*/
-#include <io.h>
+#include "io.h"
/* ...we obtain function prototypes for each of the following, which
* are available in all versions of MSVCRT.DLL, (and all its non-free
* derivatives), but are not supported by CRTDLL.DLL:
@@ -268,7 +268,7 @@
*
* and from...
*/
-#include <time.h>
+#include "time.h"
/* ...we obtain an opaque forward declaration of:
*
* struct tm
@@ -304,7 +304,7 @@
*
* Also, from...
*/
-#include <locale.h>
+#include "locale.h"
/* ...we obtain the declaration for:
*
* wchar_t *_wsetlocale (int, const wchar_t *);
@@ -312,7 +312,7 @@
*
* and from...
*/
-#include <process.h>
+#include "process.h"
/* ...we obtain function prototypes for:
*
* intptr_t _wexecl (const wchar_t *, const wchar_t *, ...);
-----------------------------------------------------------------------
Summary of changes:
mingwrt/ChangeLog | 54 ++++++++++++++
mingwrt/Makefile.in | 32 ++++++++-
mingwrt/configure.ac | 8 +-
mingwrt/include/{_mingw.h => _mingw.h.in} | 12 ++-
mingwrt/include/dir.h | 2 +-
mingwrt/include/direct.h | 2 +-
mingwrt/include/dos.h | 2 +-
mingwrt/include/io.h | 7 ++-
mingwrt/include/process.h | 8 ++-
mingwrt/include/stdio.h | 11 ++-
mingwrt/include/string.h | 27 +++++++
mingwrt/include/wchar.h | 16 ++--
mingwrt/mingwex/strnlen.s | 109 +++++++++++++++++++++++++++++
mingwrt/msvcrt-xref/msvcrt.def.in | 2 +-
w32api/ChangeLog | 23 ++++++
w32api/Makefile.in | 28 +++++++-
w32api/configure.ac | 8 +-
w32api/include/{w32api.h => w32api.h.in} | 14 +++--
18 files changed, 320 insertions(+), 45 deletions(-)
rename mingwrt/include/{_mingw.h => _mingw.h.in} (97%)
create mode 100644 mingwrt/mingwex/strnlen.s
rename w32api/include/{w32api.h => w32api.h.in} (93%)
hooks/post-receive
--
Repository: mingw-org-wsl
|